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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x474567
sub esp, 0x68
mov eax, 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
je 0x4744ab
movzx edx, byte [eax + 0xf]
and edx, 0x1f
movzx ebx, byte [ecx + 0xf]
and ebx, 0x1f
cmp edx, ebx
jne 0x4744a2
lea ebx, [edx - 1]
cmp ebx, 0xf
jbe 0x474499
cmp edx, 0x18
je 0x474499
cmp edx, 0x1a
je 0x474499
cmp edx, 0x13
ja 0x474094
cmp edx, 0x11
je 0x474028
cmp edx, 0x12
je 0x473f20
cmp edx, 0x13
jne 0x473f17
movzx edx, word [eax + 0x22]
movzx ebx, word [ecx + 0x22]
cmp dx, bx
jne 0x473f0e
movzx edx, word [eax + 0x20]
movzx ebx, word [ecx + 0x20]
cmp bx, dx
jne 0x473f0e
xor edx, edx
jmp 0x473ccf
mov ebx, dword [esp + 0x1c]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov eax, ebx
mov ecx, ebp
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x474519
movzx ebx, word [eax + 0x20]
movzx ebp, bx
cmp edx, ebp
jge 0x473e11
movzx esi, byte [eax + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x473e07
mov esi, 0x34
test bx, bx
jne 0x473de9
xor ebx, ebx
xor ebp, ebp
cmp edx, ebp
jae 0x47450b
mov ebx, dword [ebx + edx*4]
test ebx, ebx
je 0x473de0
lea ebp, [0x8fdd00]
movzx esi, byte [ecx + 0xf]
and esi, 0x1f
cmp esi, 0x13
jne 0x4744f1
movzx esi, byte [ecx + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x473dd6
mov esi, 0x34
movzx edi, word [ecx + 0x20]
test di, di
jne 0x473dab
xor esi, esi
xor edi, edi
cmp edx, esi
jae 0x4744e3
mov dword [esp + 0x1c], edx
mov esi, dword [edi + edx*4]
test esi, esi
je 0x473da5
lea edi, [0x8fdd00]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x473cbc
mov byte [esp + 0x78], 0
add esp, 0x68
ret
xor esi, esi
xor edi, edi
jmp 0x473d72
add esi, ecx
test byte [esi], al
movzx edi, di
test edi, edi
jl 0x4744ea
cmp edi, 0x100000
ja 0x4744ea
mov dword [esp + 0x34], eax
mov eax, esi
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x34]
jmp 0x473d59
mov esi, 0x24
jmp 0x473d4c
xor ebx, ebx
xor ebp, ebp
jmp 0x473d28
lea ebx, [esi + eax]
test byte [ebx], al
test ebp, ebp
jl 0x474512
cmp ebp, 0x100000
jbe 0x473d0f
jmp 0x474512
mov esi, 0x24
jmp 0x473d02
xor edx, edx
jmp 0x473e26
mov ebx, dword [esp + 0x20]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x6c]
mov eax, ebx
mov ecx, dword [esp + 0x70]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x4744c9
movzx ebx, byte [eax + 0xc]
test bl, 1
je 0x473f04
mov ebx, 0x34
movzx ebp, word [eax + 0x22]
test bp, 0x7fff
jne 0x473ec9
xor ebx, ebx
cmp edx, ebx
jge 0x473ec0
mov dword [esp + 0x20], edx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004717a0
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 4], ebx
call fcn.004717a0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x473e15
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
add ebx, eax
test byte [ebx], al
and ebp, 0x7fff
movzx ebx, word [eax + 0x20]
add ebp, ebx
movzx ebp, bp
test ebp, ebp
jl 0x4744c2
movzx ebx, bx
cmp ebx, ebp
ja 0x4744c2
cmp ebp, 0x100000
ja 0x4744c2
sub ebp, ebx
mov ebx, ebp
jmp 0x473e55
mov ebx, 0x24
jmp 0x473e48
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov edx, dword [ecx + 0x24]
cmp edx, 3
je 0x473fb8
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x12
jne 0x47454d
mov edx, dword [ecx + 0x24]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x12
jne 0x474533
mov ebx, dword [eax + 0x24]
cmp edx, ebx
je 0x473f60
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.004710b0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.004710b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
jmp 0x473f58
mov dword [esp], eax
call fcn.004710b0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.004710b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x47401f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
jmp 0x473f2c
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
je 0x47403c
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.004710b0
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.004710b0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
jmp 0x474034
cmp edx, 0x15
jbe 0x4743b4
lea ebx, [edx - 0x16]
cmp ebx, 1
jbe 0x474356
cmp edx, 0x19
jne 0x473f17
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
jne 0x47434d
mov edx, dword [eax + 0x20]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
test edx, edx
je 0x4740ef
lea ebx, [edx + 3]
mov dword [esp + 0x48], ebx
movzx ebx, byte [edx + 1]
shl ebx, 8
movzx edx, byte [edx + 2]
or ebx, edx
mov dword [esp + 0x4c], ebx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
test edx, edx
je 0x47411e
lea ebx, [edx + 3]
mov dword [esp + 0x50], ebx
movzx ebx, byte [edx + 1]
shl ebx, 8
movzx edx, byte [edx + 2]
or ebx, edx
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp ebx, ebp
jne 0x474344
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004021e0
movzx eax, byte [esp + 0xc]
test al, al
je 0x474344
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x70]
xor ebx, ebx
jmp 0x47417f
mov ebp, dword [esp + 0x18]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov eax, edi
mov ecx, ebp
mov edx, esi
cmp ebx, ecx
jge 0x47433b
mov ebp, dword [eax + 0x28]
mov esi, dword [eax + 0x24]
cmp ebx, ebp
jae 0x4744bb
lea ebp, [ebx + ebx*2]
mov edi, dword [edx + 0x28]
mov edx, dword [edx + 0x24]
cmp ebx, edi
jae 0x4744b4
mov edi, dword [esi + ebp*4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
test edi, edi
je 0x4741d5
lea eax, [edi + 3]
mov dword [esp + 0x58], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx edi, byte [edi + 2]
or edi, eax
mov dword [esp + 0x5c], edi
mov eax, dword [edx + ebp*4]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
test eax, eax
je 0x474204
lea edi, [eax + 3]
mov dword [esp + 0x60], edi
movzx edi, byte [eax + 1]
shl edi, 8
movzx eax, byte [eax + 2]
or edi, eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
cmp ebx, ecx
jne 0x474332
mov dword [esp + 0x28], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004021e0
movzx eax, byte [esp + 0xc]
test al, al
je 0x474332
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + eax*4 + 4]
lea esi, [0x8fdd00]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov dword [esp + 4], edx
movzx edx, byte [esp + 0x74]
mov byte [esp + 0x10], dl
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
test al, al
je 0x474329
movzx eax, byte [esp + 0x74]
test al, al
jne 0x4742bb
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + ecx*4 + 8]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx + ecx*4 + 8]
cmp edx, ecx
je 0x474166
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + eax*4]
mov dword [esp], edx
call fcn.0046fb70
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.0046fb70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jne 0x474320
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.004021e0
movzx eax, byte [esp + 0xc]
test al, al
je 0x474320
movzx eax, byte [esp + 0x74]
jmp 0x474296
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov dword [esp], eax
call fcn.004710b0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.004710b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x78], al
add esp, 0x68
ret
cmp edx, 0x14
jne 0x4743d9
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x4743c7
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x4743d0
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov edx, dword [eax + 0x20]
test edx, edx
je 0x474490
lea ebx, [0x8fdd00]
mov ebp, dword [ecx + 0x20]
test ebp, ebp
je 0x474487
lea esi, [0x8fdd00]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x47442b
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004710b0
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.004710b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.00473ac0
movzx eax, byte [esp + 0x14]
jmp 0x474423
xor ebp, ebp
xor esi, esi
jmp 0x4743fb
xor edx, edx
xor ebx, ebx
jmp 0x4743ea
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7698]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7690]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7688]
mov dword [esp + 4], eax
call fcn.00427510
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7680]
mov dword [esp + 4], eax
call fcn.00427510
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f7678]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.0044b4c0
jmp fcn.00473c00