Function at 0x56ba40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
cmp esi, dword [edi]
jb 0x56ba80
mov eax, esi
sub eax, dword [edi + 4]
cmp eax, dword [edi + 0x10]
je 0x56c6e3
push dword [edi + 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.005b5d30
cmp byte [ebp - 0x24], 0
mov esi, dword [ebp - 0x28]
jne 0x56c70f
movzx ebx, byte [esi]
lea eax, [esi + 1]
mov dword [ebp - 8], eax
cmp ebx, 0x80
jae 0x56ba95
mov esi, eax
jmp 0x56bac3
movzx ecx, byte [eax]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
cmp ecx, 0x80
jae 0x56baaf
add esi, 2
jmp 0x56bac3
push ebx
lea eax, [ebp - 0x30]
push esi
push eax
call fcn.005b6410
mov ebx, dword [ebp - 0x2c]
add esp, 0xc
mov esi, dword [ebp - 0x30]
mov eax, ebx
mov dword [ebp - 8], esi
shr eax, 3
dec eax
cmp eax, 0x21
ja case.default.0x56bad5
jmp dword [eax*4 + 0x56c71c]
cmp bl, 0xa
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xdc], 0
jne 0x56bb0e
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56baff
mov eax, dword [eax]
push eax
call fcn.0056e1f0
add esp, 4
mov dword [ebx + 0xdc], eax
push esi
push dword [ebx + 0xdc]
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
jne 0x56ba52
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x12
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
dec esi
nop
mov eax, dword [ebx + 0x14]
inc esi
test eax, eax
je 0x56bb5b
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jge 0x56bb5b
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0xc], eax
jmp 0x56bb71
push dword [ebx + 8]
call fcn.0056e130
add esp, 4
lea ecx, [ebx + 8]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x12
je 0x56bb40
jmp 0x56ba52
cmp bl, 0x1a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56bbb0
mov eax, dword [eax]
push eax
lea ecx, [ebx + 0xc8]
call fcn.005b4b00
push edi
push esi
push eax
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x56ba52
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x22
jne case.default.0x56bad5
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 4]
and eax, 0xfffffffc
test byte [ecx + 4], 1
je 0x56bbf4
mov eax, dword [eax]
add ecx, 0xcc
push eax
call fcn.005b4b00
push edi
mov ebx, eax
push esi
push ebx
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x56c6fe
push 0
sub esp, 8
mov eax, ebx
cmp dword [ebx + 0x14], 0x10
mov ecx, esp
jb 0x56bc28
mov eax, dword [ebx]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
call fcn.005b6600
add esp, 0xc
test al, al
jne 0x56ba52
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x2a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56bc6c
mov eax, dword [eax]
push eax
lea ecx, [ebx + 0xd0]
call fcn.005b4b00
push edi
push esi
push eax
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x56ba52
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x30
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
mov esi, dword [ebp - 8]
add esp, 4
test esi, esi
je 0x56c6fe
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xf8], eax
jmp 0x56ba52
cmp bl, 0x3a
jne case.default.0x56bad5
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 4]
and eax, 0xfffffffc
test byte [ecx + 4], 1
je 0x56bcde
mov eax, dword [eax]
add ecx, 0xd4
jmp 0x56bbfa
cmp bl, 0x42
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
dec esi
mov eax, dword [ebx + 0x24]
inc esi
test eax, eax
je 0x56bd11
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [eax]
jge 0x56bd11
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x1c], eax
jmp 0x56bd27
push dword [ebx + 0x18]
call fcn.0056e130
add esp, 4
lea ecx, [ebx + 0x18]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x42
je 0x56bcf6
jmp 0x56ba52
cmp bl, 0x4a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xe0], 0
jne 0x56bd7e
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56bd6f
mov eax, dword [eax]
push eax
call fcn.0056e130
add esp, 4
mov dword [ebx + 0xe0], eax
push esi
push dword [ebx + 0xe0]
jmp 0x56bb15
cmp bl, 0x50
jne case.default.0x56bad5
movzx edx, byte [esi]
test dl, dl
js 0x56bda9
mov eax, dword [ebp - 4]
inc esi
mov dword [eax + 0xfc], edx
jmp 0x56bb1e
movzx ecx, byte [esi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x56bdcc
mov eax, dword [ebp - 4]
add esi, 2
mov dword [eax + 0xfc], edx
jmp 0x56bb1e
push edx
lea eax, [ebp - 0x38]
push esi
push eax
call fcn.005b64f0
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
mov dword [eax + 0xfc], edx
jmp 0x56bb1e
cmp bl, 0x5a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56be08
mov eax, dword [eax]
push eax
lea ecx, [ebx + 0xd8]
call fcn.005b4b00
push edi
push esi
push eax
call fcn.005b5ee0
add esp, 0xc
jmp 0x56bb1c
cmp bl, 0x62
jne case.default.0x56bad5
mov eax, dword [ebp - 4]
dec esi
add eax, 0x28
mov dword [ebp - 8], eax
mov ecx, eax
call fcn.005b3270
mov ebx, eax
lea eax, [esi + 1]
push edi
push eax
push ebx
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x56c6fe
push 0
sub esp, 8
mov eax, ebx
cmp dword [ebx + 0x14], 0x10
mov ecx, esp
jb 0x56be69
mov eax, dword [ebx]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
call fcn.005b6600
add esp, 0xc
test al, al
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x62
mov eax, dword [ebp - 8]
je 0x56be37
jmp 0x56ba52
cmp bl, 0x6a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
dec esi
nop word [eax + eax]
mov eax, dword [ebx + 0x44]
inc esi
test eax, eax
je 0x56becb
mov ecx, dword [ebx + 0x3c]
cmp ecx, dword [eax]
jge 0x56becb
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x3c], eax
jmp 0x56bee1
push dword [ebx + 0x38]
call fcn.0056e270
add esp, 4
lea ecx, [ebx + 0x38]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x6a
je 0x56beb0
jmp 0x56ba52
cmp bl, 0x72
jne case.default.0x56bad5
mov eax, dword [ebp - 4]
dec esi
add eax, 0x48
mov dword [ebp - 8], eax
nop dword [eax]
mov ecx, eax
call fcn.005b3270
mov ebx, eax
lea eax, [esi + 1]
push edi
push eax
push ebx
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x56c6fe
push 0
sub esp, 8
mov eax, ebx
cmp dword [ebx + 0x14], 0x10
mov ecx, esp
jb 0x56bf52
mov eax, dword [ebx]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
call fcn.005b6600
add esp, 0xc
test al, al
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x72
mov eax, dword [ebp - 8]
je 0x56bf20
jmp 0x56ba52
cmp bl, 0x7a
jne case.default.0x56bad5
mov eax, dword [ebp - 4]
dec esi
add eax, 0x58
mov dword [ebp - 8], eax
nop dword [eax]
mov ecx, eax
call fcn.005b3270
mov ebx, eax
lea eax, [esi + 1]
push edi
push eax
push ebx
call fcn.005b5ee0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x56c6fe
push 0
sub esp, 8
mov eax, ebx
cmp dword [ebx + 0x14], 0x10
mov ecx, esp
jb 0x56bfd2
mov eax, dword [ebx]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
call fcn.005b6600
add esp, 0xc
test al, al
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
cmp byte [esi], 0x7a
mov eax, dword [ebp - 8]
je 0x56bfa0
jmp 0x56ba52
cmp bl, 0x80
jne case.default.0x56bad5
movzx edx, byte [esi]
test dl, dl
js 0x56c025
mov eax, dword [ebp - 4]
inc esi
mov dword [eax + 0x100], edx
jmp 0x56bb1e
movzx ecx, byte [esi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x56c048
mov eax, dword [ebp - 4]
add esi, 2
mov dword [eax + 0x100], edx
jmp 0x56bb1e
push edx
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.005b64f0
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
mov dword [eax + 0x100], edx
jmp 0x56bb1e
cmp bl, 0x8a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xe4], 0
jne 0x56c09c
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56c08d
mov eax, dword [eax]
push eax
call fcn.0056eb70
add esp, 4
mov dword [ebx + 0xe4], eax
push esi
push dword [ebx + 0xe4]
jmp 0x56bb15
cmp bl, 0x92
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xe8], 0
jne 0x56c0da
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56c0cb
mov eax, dword [eax]
push eax
call fcn.0056e8e0
add esp, 4
mov dword [ebx + 0xe8], eax
push esi
push dword [ebx + 0xe8]
jmp 0x56bb15
cmp bl, 0x9a
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xec], 0
jne 0x56c118
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56c109
mov eax, dword [eax]
push eax
call fcn.0056dee0
add esp, 4
mov dword [ebx + 0xec], eax
push esi
push dword [ebx + 0xec]
jmp 0x56bb15
cmp bl, 0xa2
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
mov eax, dword [ebx + 0x74]
add esi, 2
test eax, eax
je 0x56c150
mov ecx, dword [ebx + 0x6c]
cmp ecx, dword [eax]
jge 0x56c150
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
jmp 0x56c166
push dword [ebx + 0x68]
call fcn.0056e130
add esp, 4
lea ecx, [ebx + 0x68]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0xc]
mov word [ebp - 0xc], 0x1a2
cmp ax, word [ecx]
je 0x56c133
jmp 0x56ba52
cmp bl, 0xa8
jne case.default.0x56bad5
movzx edx, byte [esi]
test dl, dl
js 0x56c1b6
mov eax, dword [ebp - 4]
inc esi
mov dword [eax + 0x104], edx
jmp 0x56bb1e
movzx ecx, byte [esi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x56c1d9
mov eax, dword [ebp - 4]
add esi, 2
mov dword [eax + 0x104], edx
jmp 0x56bb1e
push edx
lea eax, [ebp - 0x48]
push esi
push eax
call fcn.005b64f0
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
mov dword [eax + 0x104], edx
jmp 0x56bb1e
cmp bl, 0xb0
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
add esp, 4
or eax, edx
je 0x56c227
mov ecx, dword [ebp - 4]
mov al, 1
mov esi, dword [ebp - 8]
mov byte [ecx + 0x108], al
jmp 0x56bb1e
mov ecx, dword [ebp - 4]
xor al, al
mov esi, dword [ebp - 8]
mov byte [ecx + 0x108], al
jmp 0x56bb1e
cmp bl, 0xba
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
nop dword [eax]
mov eax, dword [ebx + 0x84]
add esi, 2
test eax, eax
je 0x56c270
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [eax]
jge 0x56c270
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x7c], eax
jmp 0x56c286
push dword [ebx + 0x78]
call fcn.0056f050
add esp, 4
lea ecx, [ebx + 0x78]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0x10]
mov word [ebp - 0x10], 0x1ba
cmp ax, word [ecx]
je 0x56c250
jmp 0x56ba52
cmp bl, 0xc2
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
nop word [eax + eax]
mov eax, dword [ebx + 0x94]
add esi, 2
test eax, eax
je 0x56c2f6
mov ecx, dword [ebx + 0x8c]
cmp ecx, dword [eax]
jge 0x56c2f6
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x8c], eax
jmp 0x56c312
push dword [ebx + 0x88]
call fcn.0056e780
add esp, 4
lea ecx, [ebx + 0x88]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0x14]
mov word [ebp - 0x14], 0x1c2
cmp ax, word [ecx]
je 0x56c2d0
jmp 0x56ba52
cmp bl, 0xca
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
mov eax, dword [ebx + 0xa4]
add esi, 2
test eax, eax
je 0x56c378
mov ecx, dword [ebx + 0x9c]
cmp ecx, dword [eax]
jge 0x56c378
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0x9c], eax
jmp 0x56c394
push dword [ebx + 0x98]
call fcn.0056e010
add esp, 4
lea ecx, [ebx + 0x98]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0x18]
mov word [ebp - 0x18], 0x1ca
cmp ax, word [ecx]
je 0x56c352
jmp 0x56ba52
cmp bl, 0xd0
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
add esp, 4
or eax, edx
je 0x56c3f1
mov ecx, dword [ebp - 4]
mov al, 1
mov esi, dword [ebp - 8]
mov byte [ecx + 0x109], al
jmp 0x56bb1e
mov ecx, dword [ebp - 4]
xor al, al
mov esi, dword [ebp - 8]
mov byte [ecx + 0x109], al
jmp 0x56bb1e
cmp bl, 0xda
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xf0], 0
jne 0x56c436
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56c427
mov eax, dword [eax]
push eax
call fcn.0056e010
add esp, 4
mov dword [ebx + 0xf0], eax
push esi
push dword [ebx + 0xf0]
jmp 0x56bb15
cmp bl, 0xe2
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
mov eax, dword [ebx + 0xb4]
add esi, 2
test eax, eax
je 0x56c477
mov ecx, dword [ebx + 0xac]
cmp ecx, dword [eax]
jge 0x56c477
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0xac], eax
jmp 0x56c493
push dword [ebx + 0xa8]
call fcn.0056f260
add esp, 4
lea ecx, [ebx + 0xa8]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0x1c]
mov word [ebp - 0x1c], 0x1e2
cmp ax, word [ecx]
je 0x56c451
jmp 0x56ba52
cmp bl, 0xe8
jne case.default.0x56bad5
movzx edx, byte [esi]
test dl, dl
js 0x56c4e3
mov eax, dword [ebp - 4]
inc esi
mov dword [eax + 0x10c], edx
jmp 0x56bb1e
movzx ecx, byte [esi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
test cl, cl
js 0x56c506
mov eax, dword [ebp - 4]
add esi, 2
mov dword [eax + 0x10c], edx
jmp 0x56bb1e
push edx
lea eax, [ebp - 0x50]
push esi
push eax
call fcn.005b64f0
mov eax, dword [ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x50]
mov dword [eax + 0x10c], edx
jmp 0x56bb1e
cmp bl, 0xf2
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0xf4], 0
jne 0x56c55a
mov eax, dword [ebx + 4]
and eax, 0xfffffffc
test byte [ebx + 4], 1
je 0x56c54b
mov eax, dword [eax]
push eax
call fcn.0056ef80
add esp, 4
mov dword [ebx + 0xf4], eax
push esi
push dword [ebx + 0xf4]
jmp 0x56bb15
cmp bl, 0xf8
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
add esp, 4
or eax, edx
je 0x56c592
mov ecx, dword [ebp - 4]
mov al, 1
mov esi, dword [ebp - 8]
mov byte [ecx + 0x10a], al
jmp 0x56bb1e
mov ecx, dword [ebp - 4]
xor al, al
mov esi, dword [ebp - 8]
mov byte [ecx + 0x10a], al
jmp 0x56bb1e
cmp bl, 2
jne case.default.0x56bad5
mov ebx, dword [ebp - 4]
add esi, 0xfffffffe
mov eax, dword [ebx + 0xc4]
add esi, 2
test eax, eax
je 0x56c5da
mov ecx, dword [ebx + 0xbc]
cmp ecx, dword [eax]
jge 0x56c5da
mov edx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
mov dword [ebx + 0xbc], eax
jmp 0x56c5f6
push dword [ebx + 0xb8]
call fcn.0056ee40
add esp, 4
lea ecx, [ebx + 0xb8]
push eax
call fcn.005b4d80
mov edx, eax
push esi
push edx
mov ecx, edi
call fcn.005b61e0
mov esi, eax
test esi, esi
je 0x56c6fe
cmp esi, dword [edi]
jae 0x56ba56
mov ax, word [esi]
lea ecx, [ebp - 0x20]
mov word [ebp - 0x20], 0x282
cmp ax, word [ecx]
je 0x56c5b4
jmp 0x56ba52
cmp bl, 8
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
add esp, 4
or eax, edx
je 0x56c64f
mov ecx, dword [ebp - 4]
mov al, 1
mov esi, dword [ebp - 8]
mov byte [ecx + 0x10b], al
jmp 0x56bb1e
mov ecx, dword [ebp - 4]
xor al, al
mov esi, dword [ebp - 8]
mov byte [ecx + 0x10b], al
jmp 0x56bb1e
cmp bl, 0x10
jne case.default.0x56bad5
lea eax, [ebp - 8]
push eax
call fcn.00574240
add esp, 4
or eax, edx
je 0x56c68a
mov ecx, dword [ebp - 4]
mov al, 1
mov esi, dword [ebp - 8]
mov byte [ecx + 0x110], al
jmp 0x56bb1e
mov ecx, dword [ebp - 4]
xor al, al
mov esi, dword [ebp - 8]
mov byte [ecx + 0x110], al
jmp 0x56bb1e
test ebx, ebx
je 0x56c6fa
mov eax, ebx
and al, 7
cmp al, 4
je 0x56c6fa
mov ecx, dword [ebp - 4]
add ecx, 4
test byte [ecx], 1
je 0x56c6cd
mov eax, dword [ecx]
push edi
and eax, 0xfffffffc
add eax, 4
push esi
push eax
push ebx
call fcn.005b64c0
add esp, 0x10
jmp 0x56bb1c
call fcn.0056fe80
push edi
push esi
push eax
push ebx
call fcn.005b64c0
add esp, 0x10
jmp 0x56bb1c
test eax, eax
jle 0x56c70f
xor eax, eax
cmp dword [edi + 8], eax
cmove esi, eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
test esi, esi
jne 0x56c709
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebx - 1]
mov dword [edi + 0x3c], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8