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

Disassembly:
sub esp, 0x24
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
mov esi, dword [esp + 0x4c]
push edi
mov edi, ecx
push ebx
mov ecx, dword [esp + 0x50]
push eax
push esi
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x24], edi
call fcn.0043ba60
mov ebp, dword [esp + 0x38]
mov edx, eax
cmp esi, 0x10
mov dword [esp + 0x18], edx
jl 0x43bd07
test dl, 2
jne 0x43bd07
test dl, 8
je 0x43bd0e
lea esi, [edi + 0x1f9]
xor eax, eax
shr edx, 2
mov al, byte [esi]
and edx, 1
mov ecx, dword [ebp + eax*4 + 0x2c]
and eax, 1
add ecx, dword [ebp + 0x14]
xor edx, eax
je 0x43bcef
push ecx
push esi
mov ecx, ebp
call fcn.00446180
jmp 0x43bd0e
cmp ecx, 0x8000
jb 0x43bd02
push ecx
push esi
mov ecx, ebp
call fcn.004460f0
jmp 0x43bd0e
mov dword [ebp + 0x14], ecx
jmp 0x43bd0e
or edx, 4
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
and eax, 4
mov dword [esp + 0x30], eax
je 0x43be2e
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0x43be2e
mov ecx, dword [esp + 0x4c]
lea eax, [edi + 0x178]
mov dword [esp + 0x28], eax
lea edx, [ecx*4]
mov ecx, 0xfffffe88
sub ecx, edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ecx
mov dl, byte [eax]
test dl, 8
je 0x43be04
mov eax, dword [esp + 0x40]
xor esi, esi
test eax, eax
jle 0x43bdb3
mov eax, dword [esp + 0x38]
sar eax, 4
mov ecx, eax
sar ecx, 4
mov ecx, dword [ebx + ecx*4]
test ecx, ecx
je 0x43bdb3
and eax, 0xf
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x43bdb3
mov ecx, dword [esp + 0x38]
and ecx, 0xf
cmp word [eax + ecx*2], si
je 0x43bd93
mov esi, 1
cmp word [eax + ecx*2 + 2], 0
je 0x43bd9c
inc esi
cmp word [eax + ecx*2 + 4], 0
je 0x43bda5
inc esi
cmp esi, 3
jge 0x43bdb3
cmp word [eax + ecx*2 + 6], 0
je 0x43bdb3
inc esi
test byte [esp + 0x18], 2
je 0x43bdbd
or esi, 4
mov eax, dword [esp + 0x40]
and edx, 4
shr edx, 2
lea ecx, [esi + eax*8 + 0x1a8]
xor eax, eax
mov al, byte [ecx + edi]
add ecx, edi
mov esi, dword [ebp + eax*4 + 0x2c]
and eax, 1
add esi, dword [ebp + 0x14]
xor edx, eax
je 0x43bdee
push esi
push ecx
mov ecx, ebp
call fcn.00446180
jmp 0x43be04
cmp esi, 0x8000
jb 0x43be01
push esi
push ecx
mov ecx, ebp
call fcn.004460f0
jmp 0x43be04
mov dword [ebp + 0x14], esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
add eax, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
inc eax
add ecx, eax
mov dword [esp + 0x28], eax
cmp ecx, edx
jl 0x43bd4f
mov eax, dword [esp + 0x30]
test eax, eax
je 0x43c04a
mov edx, dword [esp + 0x40]
lea esi, [edi + 0x78]
mov dword [esp + 0x14], esi
mov eax, dword [edi + edx*4 + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x43c04a
mov edx, dword [esp + 0x4c]
mov ecx, 0xfffffe88
lea eax, [edi + 0x178]
sub ecx, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
test byte [eax], 4
je 0x43c02c
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x38], ecx
test byte [eax + esi], 8
je 0x43be8a
inc ecx
inc eax
cmp eax, 0x10
jl 0x43be83
mov esi, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
sar esi, 4
shl esi, 2
mov eax, dword [esi + ecx]
test eax, eax
jne 0x43bead
mov dword [esp + 0x2c], eax
jmp 0x43beb7
and edx, 0xf
mov edx, dword [eax + edx*4]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x48]
lea ebx, [edi + 0x1fc]
cmp dword [esi + eax], 0
jne 0x43bed7
push 0x10
mov ecx, ebx
call fcn.004309b0
mov ecx, dword [esp + 0x48]
mov dword [esi + ecx], eax
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
and edi, 0xf
mov eax, dword [esi + edx]
shl edi, 2
cmp dword [eax + edi], 0
jne 0x43bf01
push 0x10
mov ecx, ebx
call fcn.00430950
mov ecx, dword [esp + 0x48]
mov edx, dword [esi + ecx]
mov dword [edx + edi], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
xor ebx, ebx
add edx, 0x38
mov ecx, dword [esi + eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
mov edi, dword [ecx + edi]
sub eax, edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov al, byte [ebx + eax]
test al, 8
je 0x43c000
mov ecx, dword [esp + 0x38]
cmp ecx, 7
jl 0x43bf3f
mov ecx, 7
mov edx, dword [esp + 0x24]
test byte [edx], 2
je 0x43bf4b
or ecx, 8
mov edx, dword [esp + 0x10]
and eax, 4
shr eax, 2
lea esi, [ecx + edx + 0x188]
xor ecx, ecx
mov cl, byte [esi]
mov edx, dword [ebp + ecx*4 + 0x2c]
and ecx, 1
add edx, dword [ebp + 0x14]
xor eax, ecx
je 0x43bf79
push edx
push esi
mov ecx, ebp
call fcn.00446180
jmp 0x43bf8f
cmp edx, 0x8000
jb 0x43bf8c
push edx
push esi
mov ecx, ebp
call fcn.004460f0
jmp 0x43bf8f
mov dword [ebp + 0x14], edx
mov esi, dword [esp + 0x14]
test byte [ebx + esi], 4
je 0x43bff3
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*2]
shr eax, 3
add eax, 0x8000
cmp word [ecx + edi], 0
push eax
mov ecx, ebp
jge 0x43bfbc
call fcn.00446260
jmp 0x43bfc1
call fcn.00446210
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x43bfd5
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [esp + 0x30], eax
jmp 0x43bfd9
mov eax, dword [esp + 0x30]
mov ecx, eax
sar ecx, 1
add ecx, eax
mov word [edi], cx
mov al, byte [ebx + esi]
test al, 4
je 0x43bff3
mov dword [esp + 0x38], 0
jmp 0x43c000
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x43c000
dec eax
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x1c]
inc ebx
add edx, 4
add edi, 2
cmp ebx, 0x10
mov dword [esp + 0x1c], edx
jl 0x43bf22
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
inc eax
inc edx
add esi, 0x10
mov dword [esp + 0x24], eax
lea ebx, [eax + ecx]
mov dword [esp + 0x28], edx
cmp ebx, dword [esp + 0x50]
mov dword [esp + 0x14], esi
jl 0x43be72
test byte [esp + 0x18], 2
je 0x43c234
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov eax, dword [edi + edx*4 + 0x10]
add edi, 0x78
mov dword [esp + 0x38], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], eax
jle 0x43c234
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x10]
test byte [edx + eax + 0x178], 2
je 0x43c20b
mov eax, dword [esp + 0x44]
mov esi, ecx
sar esi, 4
shl esi, 2
mov eax, dword [esi + eax]
test eax, eax
jne 0x43c0ad
mov dword [esp + 0x30], eax
jmp 0x43c0b7
and ecx, 0xf
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0x30], ecx
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edi]
lea ebx, [edx + 0x1fc]
test eax, eax
jne 0x43c0d8
push 0x10
mov ecx, ebx
call fcn.004309b0
mov dword [esi + edi], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
and edi, 0xf
mov ecx, dword [esi + eax]
shl edi, 2
cmp dword [ecx + edi], 0
jne 0x43c102
push 0x10
mov ecx, ebx
call fcn.00430950
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + edx]
mov dword [ecx + edi], eax
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
add ecx, 0x38
mov dword [esp + 0x4c], 0
mov eax, dword [esi + edx]
mov dword [esp + 0x28], ecx
mov edi, dword [eax + edi]
mov eax, dword [esp + 0x30]
sub eax, edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
test byte [eax + edx], 2
je 0x43c1ef
mov eax, dword [esp + 0x30]
movsx ebx, word [edi]
movsx eax, word [eax + edi]
test eax, eax
jge 0x43c14c
neg eax
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x43c160
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
jmp 0x43c164
mov ecx, dword [esp + 0x38]
xor esi, esi
cmp eax, ebx
jl 0x43c16f
mov esi, 1
lea edx, [ecx + ecx*2]
cmp ebx, edx
jg 0x43c1b5
mov eax, dword [esp + 0x10]
lea edx, [eax + 0x1f8]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp + eax*4 + 0x2c]
and eax, 1
add ecx, dword [ebp + 0x14]
cmp esi, eax
je 0x43c19d
push ecx
push edx
mov ecx, ebp
call fcn.00446180
jmp 0x43c1d6
cmp ecx, 0x8000
jb 0x43c1b0
push ecx
push edx
mov ecx, ebp
call fcn.004460f0
jmp 0x43c1d6
mov dword [ebp + 0x14], ecx
jmp 0x43c1d6
mov eax, dword [ebp + 0x14]
mov ecx, ebp
lea eax, [eax + eax*2]
shr eax, 3
add eax, 0x8000
test esi, esi
push eax
je 0x43c1d1
call fcn.00446260
jmp 0x43c1d6
call fcn.00446210
mov eax, dword [esp + 0x38]
neg esi
sbb esi, esi
not esi
and esi, eax
sar eax, 1
sub eax, esi
add eax, ebx
mov word [edi], ax
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x28]
inc eax
add esi, 4
add edi, 2
cmp eax, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x28], esi
jl 0x43c12d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
inc eax
inc ecx
add esi, 0x10
cmp eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
jl 0x43c082
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x1c