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

Disassembly:
sub esp, 0x100
push ebx
mov ebx, dword [esp + 0x10c]
push ebp
xor ebp, ebp
cmp dword [esi], ebp
push edi
je 0x4463bf
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], eax
jmp 0x4463c7
mov dword [esp + 0x28], 0x180
mov ecx, dword [esi + 0x1c8]
mov eax, dword [esi + 0x1e8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0x1ec]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x1d4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x1d0]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi + 0x1dc]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x1d8]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + 0x1f0]
xor edi, edi
cmp dword [esi + 0x210], 5
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x208]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x1f4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xa8], 0x15f90
mov dword [esp + 0xac], ebp
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ecx
jge 0x446d27
cmp ebx, eax
ja 0x4464dc
sub eax, ebx
add dword [esi + 0x1e0], ebx
mov dword [esi + 0x208], eax
adc dword [esi + 0x1e4], ebp
pop edi
pop ebp
pop ebx
add esp, 0x100
ret
cmp eax, ebp
je 0x446500
add dword [esp + 0x110], eax
sub ebx, eax
add dword [esi + 0x1e0], eax
mov dword [esp + 0x114], ebx
mov dword [esp + 0x38], ebp
adc dword [esi + 0x1e4], ebp
lea eax, [edx + ebx]
cmp eax, dword [esp + 0x28]
jae 0x446538
mov ecx, dword [esp + 0x110]
push ebx
push ecx
lea eax, [edx + esi + 0x14]
push eax
call fcn.004b42c0
add dword [esi + 0xc], ebx
add esp, 0xc
add dword [esi + 0x1e0], ebx
adc dword [esi + 0x1e4], ebp
pop edi
pop ebp
pop ebx
add esp, 0x100
ret
cmp edx, ebp
je 0x44657f
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x110]
mov eax, edx
sub edi, eax
push edi
push ecx
lea edx, [eax + esi + 0x14]
push edx
call fcn.004b42c0
add dword [esp + 0x11c], edi
mov eax, edi
cdq
sub ebx, edi
add esp, 0xc
add dword [esi + 0x1e0], eax
mov dword [esp + 0x114], ebx
mov edi, ebp
adc dword [esi + 0x1e4], edx
mov edx, dword [esp + 0xc]
cmp dword [esi], ebp
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x34], ecx
jne 0x446698
cmp edx, ebp
je 0x446605
mov eax, dword [esp + 0x28]
add eax, ebx
push eax
mov dword [esp + 0x10], eax
call fcn.004772c0
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x54], edi
jne 0x4465c0
mov dword [esi + 0xc], ebp
pop edi
pop ebp
pop ebx
add esp, 0x100
ret
mov ecx, dword [esp + 0x28]
push ecx
lea eax, [esi + 0x14]
push eax
push edi
call fcn.004b42c0
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x34]
add esp, 0xc
push ebx
push edx
lea ecx, [edi + eax]
push ecx
call fcn.004b42c0
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
add esp, 0xc
sub dword [esi + 0x1e0], edx
mov ecx, edi
mov dword [esp + 0xc], ebp
sbb dword [esi + 0x1e4], ebp
xor eax, eax
mov dl, 0x47
lea esp, [esp]
cmp byte [ecx], dl
jne 0x44661c
cmp byte [ecx + 0xbc], dl
je 0x446638
cmp byte [ecx + 4], dl
jne 0x446629
cmp byte [ecx + 0xc4], dl
je 0x446641
add eax, 1
add ecx, 1
cmp eax, 0xbc
jl 0x446610
jmp 0x446653
mov dword [esi + 0x10], 0xbc
jmp 0x446648
mov dword [esi + 0x10], 0xc0
cmp eax, 0xbc
mov dword [esp + 0x34], ecx
jl 0x446678
add dword [esi + 0x210], 1
cmp edi, ebp
mov dword [esi + 0xc], ebp
je 0x446d27
push edi
call fcn.00477540
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x100
ret
sub ebx, eax
cdq
add dword [esi + 0x1e0], eax
mov dword [esi], 1
mov dword [esp + 0x114], ebx
adc dword [esi + 0x1e4], edx
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
mov edi, eax
sub edi, 0xbc
neg edi
sbb edi, edi
and edi, 4
cmp edx, ebp
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xbc], ebp
je 0x4466e5
sub ecx, eax
lea edx, [esi + 0x14]
add ecx, ebx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc], ecx
jmp 0x4466fb
mov dword [esp + 0xb0], ecx
sub ecx, eax
add ecx, ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc], ebp
mov edx, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x6c], edx
mov edx, dword [esi + 0x1c0]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x1a4]
mov dword [esp + 0x74], edx
mov edx, dword [esi + 0x1a8]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x1ac]
mov dword [esp + 0x7c], edx
mov edx, dword [esi + 0x214]
lea eax, [esp + 0x68]
mov dword [esp + 0xe4], eax
mov eax, dword [esi + 0x1b8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x1bc]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x48]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0x1c4]
sbb edi, dword [esp + 0x4c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 0x1a0]
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x1b0]
add edx, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esi + 0x1b4]
adc edi, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x64], edi
push eax
lea edi, [esp + 0xb4]
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xdc], 1
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xac], 0xdbba0
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x64], edx
call fcn.004461e0
add esp, 4
cmp eax, 0xffffffff
jle 0x446bc2
cmp eax, ebp
jne 0x446837
cmp dword [esp + 0x24], ebp
jne 0x446837
mov dword [esp + 0x24], 1
mov ebx, dword [esp + 0xd0]
cmp dword [esp + 0x28], ebx
mov edi, dword [esp + 0xd4]
jne 0x446855
cmp dword [esp + 0x2c], edi
je 0x446ba5
cmp dword [esp + 0x20], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
jne 0x446940
mov ecx, dword [esp + 0xc8]
or ecx, dword [esp + 0xcc]
je 0x446891
mov eax, dword [esp + 0xb4]
mov ecx, dword [esi + 0x1e0]
cdq
sub ecx, eax
mov eax, dword [esi + 0x1e4]
sbb eax, edx
jmp 0x4468b0
mov eax, dword [esp + 0xb0]
sub eax, dword [esp + 0xe8]
cdq
mov ecx, eax
add ecx, dword [esi + 0x1e0]
mov eax, edx
adc eax, dword [esi + 0x1e4]
mov edx, dword [esi + 0x1f8]
mov ebp, dword [esi + 0x1fc]
and edx, ebp
cmp edx, 0xffffffff
jne 0x4468dd
mov dword [esi + 0x1f8], ecx
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x200], ebx
mov dword [esi + 0x204], edi
jmp 0x44693e
mov ebp, dword [esi + 0x200]
cmp ebx, ebp
mov edx, dword [esi + 0x204]
jne 0x4468f1
cmp edi, edx
je 0x44693e
sub ecx, dword [esi + 0x1f8]
push 0
sbb eax, dword [esi + 0x1fc]
push 0x15f90
push eax
push ecx
call fcn.004b3e20
sub ebx, ebp
mov ecx, edi
sbb ecx, dword [esi + 0x204]
push ecx
push ebx
push edx
push eax
call fcn.004b82f0
mov ecx, eax
mov eax, dword [esp + 0xb4]
mov ebx, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.004b82f0
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
xor ebp, ebp
cmp dword [esp + 0x24], ebp
je 0x446ba5
mov edx, dword [esp + 0x24]
cmp edx, 1
je 0x44695c
cmp dword [esp + 0xa0], ebp
je 0x4469c1
cmp dword [esp + 0x20], ebp
mov ecx, ebx
mov eax, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jne 0x446987
cmp edx, 1
jne 0x446987
add ecx, 0x15f90
adc eax, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], edx
cmp dword [esp + 0xa0], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
je 0x4469b7
mov edx, dword [esp + 0x60]
add edx, 0x15f90
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x64]
adc edx, ebp
mov dword [esp + 0x44], edx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x24], 2
jmp 0x4469c9
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x20], ebp
je 0x446a63
mov edx, ebx
sub edx, ecx
mov dword [esp + 0x58], edx
mov edx, edi
sbb edx, eax
add ecx, 0x15f90
adc eax, ebp
cmp edi, eax
mov dword [esp + 0x3c], 1
mov dword [esp + 0x5c], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jl 0x446a37
jg 0x446a05
cmp ebx, ecx
jb 0x446a37
mov ecx, dword [esp + 0x3c]
lea esp, [esp]
mov edx, ecx
add ecx, 1
cmp edx, 0x3e8
jg 0x446a33
add dword [esp + 0x10], 0x15f90
adc eax, ebp
cmp edi, eax
jg 0x446a10
jl 0x446a33
cmp ebx, dword [esp + 0x10]
jae 0x446a10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc8]
or eax, dword [esp + 0xcc]
mov dword [esp + 0x3c], ebp
je 0x446a6e
mov eax, dword [esp + 0xb4]
mov ecx, dword [esi + 0x1e0]
cdq
sub ecx, eax
mov eax, dword [esi + 0x1e4]
jmp 0x446aa3
cmp dword [esp + 0x3c], ebp
jne 0x446a37
jmp 0x446ba5
mov eax, dword [esp + 0xb0]
sub eax, dword [esp + 0xe8]
cdq
mov ecx, eax
add ecx, dword [esi + 0x1e0]
mov eax, dword [esp + 0xb4]
adc edx, dword [esi + 0x1e4]
mov dword [esp + 0x104], edx
cdq
sub ecx, eax
mov eax, dword [esp + 0x104]
sbb eax, edx
sub ebx, dword [esp + 0x48]
push ebp
sbb edi, dword [esp + 0x50]
add ebx, dword [esp + 0x44]
push 0x5a
adc edi, dword [esp + 0x4c]
mov dword [esp + 0x100], ecx
push edi
push ebx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edi
call fcn.004b82f0
mov ecx, dword [0x6dae50]
cmp ecx, ebp
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 8]
push 0x10
je 0x446af8
lea edx, [esp + 0xf4]
push edx
push eax
call ecx
jmp 0x446b06
lea ecx, [esp + 0xf4]
push ecx
push eax
call fcn.00478bf0
mov edx, 1
add dword [esi + 0x20c], edx
add esp, 0xc
cmp dword [esp + 0x5c], ebp
jg 0x446b31
jl 0x446b22
cmp dword [esp + 0x58], ebp
jae 0x446b31
mov eax, dword [esp + 0x58]
neg eax
sar eax, 0xe
add dword [esp + 0x1c], eax
jmp 0x446b42
mov ecx, dword [esp + 0x58]
sar ecx, 0xe
sub dword [esp + 0x1c], ecx
jns 0x446b42
mov dword [esp + 0x1c], ebp
mov edi, dword [esp + 0x1c]
imul edi, dword [esp + 0x20]
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
shr edi, 4
imul edi, ecx
add eax, edi
lea edi, [eax + ecx]
cmp edi, dword [esp + 0xc0]
mov dword [esp + 0xb0], eax
jbe 0x446b7b
mov dword [esp + 0xbc], edx
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x114]
lea ebx, [edi + edx]
cmp eax, ebx
ja 0x446b93
mov dword [esp + 0x38], ebp
jmp 0x446ba5
sub eax, edi
sub eax, edx
cmp eax, ecx
mov dword [esp + 0x38], eax
ja 0x446ba5
add eax, ecx
mov dword [esp + 0x38], eax
lea edx, [esp + 0xc]
push edx
lea edi, [esp + 0xb4]
call fcn.004461e0
add esp, 4
cmp eax, 0xffffffff
jg 0x446825
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0xb0]
lea ebx, [ecx + edi]
cmp edx, ebx
jae 0x446c0c
cmp eax, 0xffffffff
jne 0x446c0c
sub ecx, edx
lea eax, [ecx + edi]
mov ecx, dword [esp + 0xb4]
cmp eax, ecx
mov dword [esi + 0xc], eax
jl 0x446bf9
add ecx, 0xffffffff
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
push eax
push edx
lea eax, [esi + 0x14]
push eax
call fcn.004b42c0
add esp, 0xc
jmp 0x446c0f
mov dword [esi + 0xc], ebp
mov eax, dword [esp + 0x54]
cmp eax, ebp
je 0x446c20
push eax
call fcn.00477540
add esp, 4
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x88]
add dword [esi + 0x1e0], edi
mov dword [esi + 0x198], ecx
mov ecx, dword [esp + 0x8c]
adc dword [esi + 0x1e4], ebp
mov dword [esi + 0x19c], edx
mov edx, dword [esp + 0x90]
mov dword [esi + 0x1b8], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1bc], ecx
mov ecx, dword [esp + 0x70]
mov dword [esi + 0x1c0], edx
mov edx, dword [esp + 0x74]
mov dword [esi + 0x1c4], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0x1a0], ecx
mov ecx, dword [esp + 0x84]
mov dword [esi + 0x1a4], edx
mov edx, dword [esp + 0x78]
mov dword [esi + 0x1b0], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x1b4], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x1a8], edx
mov edx, dword [esp + 0x10]
mov dword [esi + 0x1ac], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x1c8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x1e8], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0x1ec], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x1d0], ecx
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1d4], edx
mov edx, dword [esp + 0x20]
mov dword [esi + 0x1d8], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x1dc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x1f0], edx
mov edx, dword [esp + 0xec]
mov dword [esi + 0x1f4], eax
mov dword [esi + 0x208], ecx
mov dword [esi + 0x214], edx
pop edi
pop ebp
pop ebx
add esp, 0x100
ret