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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x4476de
sub esp, 0xa0
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x9c], ecx
lea edx, [0x62cf80]
mov dword [esp], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
lea ebp, [esp + 0x98]
mov dword [esp + 8], ebp
call fcn.0040ad20
movzx eax, byte [esp + 0x10]
test al, al
jne 0x447634
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x9c], ecx
lea edx, [0x62cf80]
mov dword [esp], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 4], edx
lea ebx, [esp + 0x98]
mov dword [esp + 8], ebx
call fcn.0040b120
mov eax, dword [esp + 0xc]
test byte [eax], al
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
cmp eax, ecx
je 0x447625
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
movzx ebp, byte [ecx + 0xf]
and ebp, 0x1f
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x447616
mov byte [esp + 0x17], bl
mov byte [esp + 0x16], dl
mov dword [esp], eax
call fcn.004457e0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp], edx
call fcn.004457e0
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
je 0x446b1e
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x446b0f
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00445870
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
call fcn.00445870
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x44756f
test eax, eax
jne 0x44756d
movzx eax, byte [esp + 0x16]
lea ecx, [eax - 1]
cmp cl, 0xf
jbe 0x44755e
cmp al, 0x15
ja 0x447252
cmp al, 0x12
jbe 0x44719d
cmp al, 0x13
jne 0x446e7b
mov eax, dword [esp + 0xa8]
movzx ecx, word [eax + 0x22]
mov edx, dword [esp + 0xa4]
cmp word [edx + 0x22], cx
jne 0x446e6c
movzx ecx, word [edx + 0x20]
movzx ebx, word [eax + 0x20]
cmp bx, cx
jne 0x446e6c
nop
movzx ebp, byte [edx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x446e62
mov ebp, 0x34
nop
movzx ecx, cx
add ebp, edx
test ecx, ecx
jl 0x447682
cmp ecx, 0x100000
ja 0x447682
nop
movzx esi, byte [eax + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x446e58
mov esi, 0x34
nop
movzx ebx, bx
add esi, eax
test ebx, ebx
jl 0x44767b
cmp ebx, 0x100000
ja 0x44767b
mov dword [esp + 0x90], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0xac]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
jmp 0x446ca0
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov edx, dword [esp + 0xa4]
mov ebp, esi
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jge 0x446ce5
jae 0x447674
mov edx, dword [ebp + eax*4]
cmp eax, ebx
jae 0x447674
mov ecx, dword [esi + eax*4]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x446c5c
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
nop
movzx eax, byte [edx + 0xc]
test al, 1
je 0x446e4e
mov eax, 0x34
movzx ecx, word [edx + 0x22]
and ecx, 0x7fff
nop
movzx ebx, word [edx + 0x20]
add ecx, ebx
movzx ecx, cx
add eax, edx
test ecx, ecx
jl 0x44766d
movzx edx, bx
cmp edx, ecx
ja 0x44766d
cmp ecx, 0x100000
ja 0x44766d
nop
sub ecx, edx
lea ebx, [edx - 0x100000]
neg ebx
shl edx, 2
neg ebx
sar ebx, 0x1f
and edx, ebx
add eax, edx
mov edx, dword [esp + 0xa8]
movzx ebx, byte [edx + 0xc]
test bl, 1
je 0x446e44
mov ebx, 0x34
movzx ebp, word [edx + 0x22]
and ebp, 0x7fff
nop
movzx esi, word [edx + 0x20]
add ebp, esi
movzx ebp, bp
add edx, ebx
test ebp, ebp
jl 0x447666
movzx ebx, si
cmp ebx, ebp
ja 0x447666
cmp ebp, 0x100000
ja 0x447666
mov dword [esp + 0x20], ecx
mov dword [esp + 0x60], eax
sub ebp, ebx
mov dword [esp + 0x18], ebp
lea esi, [ebx - 0x100000]
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 2
sar esi, 0x1f
and ebx, esi
add edx, ebx
mov dword [esp + 0x50], edx
xor ebx, ebx
jmp 0x446df1
mov esi, dword [esp + 0x34]
lea ebx, [esi + 1]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x60]
mov eax, ebp
mov ecx, esi
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0xac]
cmp ebx, ecx
jge 0x446e35
jae 0x44765f
mov esi, dword [eax + ebx*4]
cmp ebx, ebp
jae 0x44765f
mov dword [esp + 0x34], ebx
mov eax, dword [edx + ebx*4]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x446dc4
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
mov ebx, 0x24
jmp 0x446d5d
mov eax, 0x24
jmp 0x446cf8
mov esi, 0x24
jmp 0x446c15
mov ebp, 0x24
jmp 0x446be6
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
cmp al, 0x14
jne 0x447127
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x20]
mov dword [esp], ecx
call fcn.00446320
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0x20]
mov dword [esp], ebx
call fcn.00446320
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
je 0x446ed4
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x446ec5
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa8]
cmp dword [edx + 0x28], ecx
jne 0x447118
mov dword [esp + 0x44], ecx
xor ebx, ebx
jmp 0x446f31
mov ebp, dword [esp + 0x38]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
mov eax, edi
mov ecx, ebp
mov edx, esi
cmp ebx, ecx
jge 0x447109
mov ebp, dword [eax + 0x24]
cmp dword [eax + 0x28], ebx
jbe 0x447658
lea esi, [ebp + ebx*8]
mov edi, dword [edx + 0x24]
cmp dword [edx + 0x28], ebx
jbe 0x447651
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x64], esi
lea eax, [ebp + ebx*8]
mov eax, dword [eax]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00445a10
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x88]
lea edx, [ecx + eax*8]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
lea ebp, [ecx + eax*8]
mov ebp, dword [ebp]
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.00445a10
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call fcn.00446320
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call fcn.00446320
mov eax, dword [esp + 0x40]
cmp dword [esp + 8], eax
jne 0x4470fa
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x4470fa
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00446420
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call fcn.00446420
mov eax, dword [esp + 0x40]
cmp dword [esp + 8], eax
jne 0x4470eb
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x4470eb
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x84]
lea ecx, [ecx + eax*8 + 4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x64]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00445cc0
mov eax, dword [esp + 8]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x88]
lea edx, [edx + ecx*8 + 4]
mov edx, dword [edx]
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00445cc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x446f12
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 8], ecx
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44716b
xor eax, eax
mov byte [esp + 0xb0], al
add esp, 0xa0
ret
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004469f0
movzx eax, byte [esp + 0xc]
jmp 0x44715d
cmp al, 0x11
je 0x4471f5
cmp al, 0x12
jne 0x447689
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0xa4]
cmp dword [edx + 0x24], ecx
je 0x4471d1
xor eax, eax
mov byte [esp + 0xb0], al
add esp, 0xa0
ret
mov ecx, dword [edx + 0x20]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004469f0
movzx eax, byte [esp + 0xc]
jmp 0x4471c3
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xac]
mov dword [esp + 8], ecx
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x44724e
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x28], eax
sete al
mov byte [esp + 0xb0], al
add esp, 0xa0
ret
xor eax, eax
jmp 0x447240
cmp al, 0x17
ja 0x4472dc
cmp al, 0x16
jne 0x44729e
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004469f0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xb0], al
add esp, 0xa0
ret
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
call fcn.004469f0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0xb0], al
add esp, 0xa0
ret
cmp al, 0x18
jne 0x4472f0
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
cmp al, 0x19
jne 0x447550
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa4]
cmp dword [edx + 0x28], ecx
jne 0x447541
mov eax, dword [edx + 0x20]
mov dword [esp], eax
call fcn.00446320
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0x20]
mov dword [esp], ebx
call fcn.00446320
mov eax, dword [esp + 0x44]
cmp dword [esp + 8], eax
je 0x44735c
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x44734d
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xa8]
xor ebx, ebx
jmp 0x4473b0
mov ebp, dword [esp + 0x30]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
mov eax, edi
mov ecx, ebp
mov edx, esi
cmp ebx, ecx
jge 0x447532
mov ebp, dword [eax + 0x24]
cmp dword [eax + 0x28], ebx
jbe 0x44764a
lea esi, [ebx + ebx*2]
mov edi, dword [edx + 0x24]
cmp dword [edx + 0x28], ebx
jbe 0x447643
mov dword [esp + 0x74], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x30], ebx
mov eax, dword [ebp + esi*4]
mov dword [esp], eax
call fcn.00446320
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.00446320
mov eax, dword [esp + 0x3c]
cmp dword [esp + 8], eax
jne 0x447523
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x447523
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + eax*4 + 4]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004469f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x447514
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + eax*4]
mov dword [esp], edx
call fcn.004463a0
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.004463a0
mov eax, dword [esp + 0x3c]
cmp dword [esp + 8], eax
jne 0x447505
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
je 0x447505
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx + eax*4 + 8]
mov edx, dword [esp + 0x74]
mov eax, dword [edx + eax*4 + 8]
cmp ecx, eax
je 0x447391
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
cmp al, 0x1a
je 0x4472e1
jmp 0x447689
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
test ecx, ecx
je 0x447575
test eax, eax
jne 0x447584
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov dword [esp + 0x58], eax
nop
mov eax, dword [ecx]
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00445a10
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.00446320
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x6c], ecx
nop
mov edx, dword [esp + 0x58]
mov edx, dword [edx]
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00445a10
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.00446320
mov eax, dword [esp + 0x28]
cmp dword [esp + 8], eax
jne 0x447607
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov dword [esp + 8], eax
call fcn.00402560
movzx eax, byte [esp + 0xc]
test al, al
jne 0x446b78
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 0
add esp, 0xa0
ret
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
mov byte [esp + 0xb0], 1
add esp, 0xa0
ret
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.00426ff0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.00426ff0
ud2
call fcn.00428a70
lea eax, [0x67badd]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00429300
movzx eax, byte [esp + 0x17]
and eax, 0x1f
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00429020
call fcn.00428c90
call fcn.00428ae0
lea eax, [0x67b393]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.004281f0
ud2
call fcn.0044b170
jmp fcn.004469f0