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

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov eax, dword [ebp + 0x72e0c]
test eax, eax
je case.default.0x43bdfd
movsx eax, byte [ebp + 0x1ff6]
mov dx, word [ebp + 0x1f6c]
mov cx, word [ebp + 0x1f6e]
cmp eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
ja case.default.0x43bdfd
jmp dword [eax*4 + 0x43c98c]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
movsx ebx, dx
lea eax, [ebx + 0x14]
cmp edi, eax
jl 0x43be4d
lea edx, [ebx + 0x42]
cmp edi, edx
jg 0x43be4d
movsx eax, cx
lea edx, [eax + 0x154]
cmp esi, edx
jl 0x43be4d
add eax, 0x188
cmp esi, eax
jg 0x43be4d
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 1
call fcn.00446e60
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0x46]
cmp edi, eax
jl 0x43bf80
lea edx, [ebx + 0x74]
cmp edi, edx
jg 0x43bf80
movsx eax, cx
lea edx, [eax + 0x154]
cmp esi, edx
jl 0x43bf80
add eax, 0x188
cmp esi, eax
jg 0x43bf80
cmp dword [ebp + 0x72fa0], 0xffffffff
jne 0x43bed9
mov eax, dword [ebp + 0x7115c]
lea edx, [ebp + 0x735bc]
mov ecx, 0x10
mov edi, edx
mov esi, dword [eax + 8]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x72578]
mov byte [ebp + 0x72f88], 5
mov dword [ebp + 0x725c0], ecx
jmp 0x43bf74
lea esi, [ebp + 0x735fc]
lea eax, [ebp + 0x733bc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43bf09
test cl, cl
je 0x43bf05
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43bf09
add eax, 2
add esi, 2
test cl, cl
jne 0x43bee5
xor eax, eax
jmp 0x43bf0e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43bf5e
mov eax, dword [ebp + 0x71160]
lea edx, [ebp + 0x735bc]
mov ecx, 0x10
mov edi, edx
mov esi, dword [eax + 8]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x72578]
mov byte [ebp + 0x72f88], 5
mov dword [ebp + 0x725c0], ecx
jmp 0x43bf74
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 2
call fcn.00446e60
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x78]
cmp edi, edx
jl 0x43bfcb
lea eax, [ebx + 0xa6]
cmp edi, eax
jg 0x43bfcb
movsx eax, cx
lea edx, [eax + 0x154]
cmp esi, edx
jl 0x43bfcb
add eax, 0x188
cmp esi, eax
jg 0x43bfcb
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 3
mov dword [ebp + 0x1f24], 0
call fcn.00446e60
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0xaa]
cmp edi, eax
jl 0x43c00f
lea edx, [ebx + 0xd8]
cmp edi, edx
jg 0x43c00f
movsx eax, cx
lea edx, [eax + 0x154]
cmp esi, edx
jl 0x43c00f
add eax, 0x188
cmp esi, eax
jg 0x43c00f
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 4
call fcn.00446e60
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0xf4]
cmp edi, eax
jl case.default.0x43bdfd
add ebx, 0x122
cmp edi, ebx
jg case.default.0x43bdfd
movsx eax, cx
lea ecx, [eax + 0x154]
cmp esi, ecx
jl case.default.0x43bdfd
add eax, 0x188
cmp esi, eax
jg case.default.0x43bdfd
push 0x12
mov ecx, ebp
call fcn.00439d10
push 0
push 0
push 0
push 0x328
jmp 0x43c967
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
movsx ebx, dx
lea edx, [ebx + 0xf]
cmp esi, edx
jl 0x43c177
lea ecx, [ebx + 0x127]
cmp esi, ecx
jg 0x43c177
movsx edi, word [esp + 0x10]
lea edx, [edi + 0x3c]
cmp eax, edx
jl 0x43c177
lea ecx, [edi + 0x154]
cmp eax, ecx
jg 0x43c177
mov edx, esi
sub edx, ebx
sub edx, 0xf
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x4b72d8]
fmul qword [0x4b72d0]
call fcn.004a7234
mov esi, eax
mov eax, dword [esp + 0x20]
sub eax, edi
sub eax, 0x3c
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x4b72d8]
fmul qword [0x4b72d0]
call fcn.004a7234
cmp si, 0x1e
jge 0x43c0f3
mov esi, 0x1e
cmp ax, 0x1e
jge 0x43c0fe
mov eax, 0x1e
cmp si, 0x20c
jle 0x43c10a
mov esi, 0x20c
cmp ax, 0x20c
jle 0x43c115
mov eax, 0x20c
movsx ecx, ax
push 0
push 0x4bdaa0
movsx edx, si
push 0
push ecx
push edx
push 0
push 0xa54
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
push 0
push 0x4bdaa0
push 0
push 0
push 1
push 0
push 0xa52
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xc2]
cmp esi, ecx
jl 0x43c1be
lea edx, [ebx + 0xf0]
cmp esi, edx
jg 0x43c1be
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x154]
cmp eax, edx
jl 0x43c1be
add ecx, 0x188
cmp eax, ecx
jg 0x43c1be
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xf4]
cmp esi, ecx
jl case.default.0x43bdfd
add ebx, 0x122
cmp esi, ebx
jg case.default.0x43bdfd
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x154]
cmp eax, edx
jl case.default.0x43bdfd
add ecx, 0x188
cmp eax, ecx
jg case.default.0x43bdfd
push 0x12
mov ecx, ebp
call fcn.00439d10
push 0
push 0
push 0
push 0x329
jmp 0x43c967
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
movsx esi, dx
lea eax, [esi + 0x46]
cmp edi, eax
jl 0x43c27a
lea ecx, [esi + 0x74]
cmp edi, ecx
jg 0x43c27a
movsx eax, word [esp + 0x10]
lea edx, [eax + 0x154]
cmp ebx, edx
jl 0x43c27a
add eax, 0x188
cmp ebx, eax
jg 0x43c27a
push 0
push 0
push 0
push 0
push 0
push 0
push 0xa55
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0x24
mov ecx, ebp
call fcn.00439d10
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
lea eax, [esi + 0xc2]
cmp edi, eax
jl 0x43c2bc
lea ecx, [esi + 0xf0]
cmp edi, ecx
jg 0x43c2bc
movsx eax, word [esp + 0x10]
lea edx, [eax + 0x154]
cmp ebx, edx
jl 0x43c2bc
add eax, 0x188
cmp ebx, eax
jg 0x43c2bc
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
lea eax, [esi + 0xf4]
cmp edi, eax
jl case.default.0x43bdfd
add esi, 0x122
cmp edi, esi
jg case.default.0x43bdfd
movsx eax, word [esp + 0x10]
lea ecx, [eax + 0x154]
cmp ebx, ecx
jl case.default.0x43bdfd
add eax, 0x188
cmp ebx, eax
jg case.default.0x43bdfd
push 0x12
mov ecx, ebp
call fcn.00439d10
push 0
push 0
push 0
push 0x32a
jmp 0x43c967
mov eax, dword [ebp + 0x725d8]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
cmp eax, 1
jne 0x43c4c7
movsx esi, dx
lea edx, [esi + 0x14]
cmp ebx, edx
jl 0x43c399
lea eax, [esi + 0x42]
cmp ebx, eax
jg 0x43c399
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c399
add eax, 0x10e
cmp edi, eax
jg 0x43c399
cmp dword [ebp + 0x72f8c], 0xbb8
jl 0x43c399
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2f
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x46]
cmp ebx, edx
jl 0x43c407
lea eax, [esi + 0x73]
cmp ebx, eax
jg 0x43c407
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c407
add eax, 0x10e
cmp edi, eax
jg 0x43c407
cmp dword [ebp + 0x72f8c], 0x7d0
jl 0x43c407
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2e
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x78]
cmp ebx, edx
jl 0x43c478
lea eax, [esi + 0xa5]
cmp ebx, eax
jg 0x43c478
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c478
add eax, 0x10e
cmp edi, eax
jg 0x43c478
cmp dword [ebp + 0x72f8c], 0x3e8
jl 0x43c478
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2b
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0xaa]
cmp ebx, edx
jl 0x43c68f
add esi, 0xd7
cmp ebx, esi
jg 0x43c68f
movsx eax, cx
lea ecx, [eax + 0xdc]
cmp edi, ecx
jl 0x43c68f
add eax, 0x10e
cmp edi, eax
jg 0x43c68f
cmp dword [ebp + 0x72f8c], 0x5dc
jl 0x43c68f
jmp 0x43c655
test eax, eax
jne 0x43c68f
movsx esi, dx
lea eax, [esi + 0x14]
cmp ebx, eax
jl 0x43c540
lea edx, [esi + 0x42]
cmp ebx, edx
jg 0x43c540
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c540
add eax, 0x10e
cmp edi, eax
jg 0x43c540
cmp dword [ebp + 0x72f8c], 0xbb8
jl 0x43c540
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2d
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x46]
cmp ebx, edx
jl 0x43c5ae
lea eax, [esi + 0x73]
cmp ebx, eax
jg 0x43c5ae
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c5ae
add eax, 0x10e
cmp edi, eax
jg 0x43c5ae
cmp dword [ebp + 0x72f8c], 0x7d0
jl 0x43c5ae
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2c
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x78]
cmp ebx, edx
jl 0x43c61f
lea eax, [esi + 0xa5]
cmp ebx, eax
jg 0x43c61f
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43c61f
add eax, 0x10e
cmp edi, eax
jg 0x43c61f
cmp dword [ebp + 0x72f8c], 0x3e8
jl 0x43c61f
mov eax, dword [ebp + 0x1f24]
push 0
push 0
push eax
push 1
push 0x2b
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0xaa]
cmp ebx, edx
jl 0x43c68f
add esi, 0xd7
cmp ebx, esi
jg 0x43c68f
movsx eax, cx
lea ecx, [eax + 0xdc]
cmp edi, ecx
jl 0x43c68f
add eax, 0x10e
cmp edi, eax
jg 0x43c68f
cmp dword [ebp + 0x72f8c], 0x5dc
jl 0x43c68f
mov edx, dword [ebp + 0x1f24]
push 0
push 0
push edx
push 1
push 0x33
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
push 0x24
mov ecx, ebp
call fcn.00439d10
movsx edi, word [esp + 0x14]
lea esi, [edi + 0x14]
cmp ebx, esi
jl 0x43c6de
lea eax, [edi + 0x17c]
cmp ebx, eax
jg 0x43c6de
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
movsx eax, bx
lea edx, [eax + 0x8c]
cmp ecx, edx
jle 0x43c6e6
add eax, 0xa0
cmp ecx, eax
jge 0x43c6e6
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov dword [ebp + 0x1f24], 0
call fcn.00446e60
jmp 0x43c6e2
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmp edx, esi
jl 0x43c72f
lea eax, [edi + 0x17c]
cmp edx, eax
jg 0x43c72f
movsx eax, bx
lea esi, [eax + 0xa0]
cmp ecx, esi
jle 0x43c72f
add eax, 0xaf
cmp ecx, eax
jge 0x43c72f
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov dword [ebp + 0x1f24], 1
call fcn.00446e60
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 0xc2]
cmp edx, eax
jl 0x43c777
lea eax, [edi + 0xf0]
cmp edx, eax
jg 0x43c777
movsx eax, bx
lea esi, [eax + 0x142]
cmp ecx, esi
jl 0x43c777
add eax, 0x176
cmp ecx, eax
jg 0x43c777
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 0xf4]
cmp edx, eax
jl case.default.0x43bdfd
add edi, 0x122
cmp edx, edi
jg case.default.0x43bdfd
movsx eax, bx
lea edx, [eax + 0x142]
cmp ecx, edx
jl case.default.0x43bdfd
add eax, 0x176
cmp ecx, eax
jg case.default.0x43bdfd
push 0x12
mov ecx, ebp
call fcn.00439d10
push 0
push 0
push 0
push 0x32b
jmp 0x43c967
mov esi, dword [esp + 0x1c]
movsx ebx, dx
lea eax, [ebx + 0xf]
cmp esi, eax
mov eax, dword [esp + 0x20]
jl 0x43c8df
lea ecx, [ebx + 0x127]
cmp esi, ecx
jg 0x43c8df
movsx edi, word [esp + 0x10]
lea edx, [edi + 0x3c]
cmp eax, edx
jl 0x43c8df
lea ecx, [edi + 0x154]
cmp eax, ecx
jg 0x43c8df
mov edx, esi
sub edx, ebx
sub edx, 0xf
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x4b72d8]
fmul qword [0x4b72d0]
call fcn.004a7234
mov esi, eax
mov eax, dword [esp + 0x20]
sub eax, edi
sub eax, 0x3c
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x4b72d8]
fmul qword [0x4b72d0]
call fcn.004a7234
cmp si, 0x1e
jge 0x43c85b
mov esi, 0x1e
cmp ax, 0x1e
jge 0x43c866
mov eax, 0x1e
cmp si, 0x20c
jle 0x43c872
mov esi, 0x20c
cmp ax, 0x20c
jle 0x43c87d
mov eax, 0x20c
movsx ecx, ax
push 0
push 0x4bdaa0
movsx edx, si
push 0
push ecx
push edx
push 0
push 0xa57
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
push 0
push 0x4bdaa0
push 0
push 0
push 1
push 0
push 0xa52
push 0xfa314dc
mov ecx, ebp
call fcn.00405900
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xc2]
cmp esi, ecx
jl 0x43c926
lea edx, [ebx + 0xf0]
cmp esi, edx
jg 0x43c926
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x154]
cmp eax, edx
jl 0x43c926
add ecx, 0x188
cmp eax, ecx
jg 0x43c926
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1ff6], 0
call fcn.00446e60
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xf4]
cmp esi, ecx
jl case.default.0x43bdfd
add ebx, 0x122
cmp esi, ebx
jg case.default.0x43bdfd
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x154]
cmp eax, edx
jl case.default.0x43bdfd
add ecx, 0x188
cmp eax, ecx
jg case.default.0x43bdfd
push 0x12
mov ecx, ebp
call fcn.00439d10
push 0
push 0
push 0
push 0x32c
push 0x12
mov ecx, ebp
call fcn.00438f60
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.00446e60
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8