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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x46b31d
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 0x46b261
movzx edx, byte [eax + 0xf]
and edx, 0x1f
movzx ebx, byte [ecx + 0xf]
and ebx, 0x1f
cmp edx, ebx
jne 0x46b258
lea ebx, [edx - 1]
cmp ebx, 0xf
jbe 0x46b24f
cmp edx, 0x18
je 0x46b24f
cmp edx, 0x1a
je 0x46b24f
cmp edx, 0x13
ja 0x46ae4a
cmp edx, 0x11
je 0x46adde
cmp edx, 0x12
je 0x46acd6
cmp edx, 0x13
jne 0x46accd
movzx edx, word [eax + 0x22]
movzx ebx, word [ecx + 0x22]
cmp dx, bx
jne 0x46acc4
movzx edx, word [eax + 0x20]
movzx ebx, word [ecx + 0x20]
cmp bx, dx
jne 0x46acc4
xor edx, edx
jmp 0x46aa9f
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 0x46b2cf
movzx ebx, word [eax + 0x20]
movzx ebp, bx
cmp edx, ebp
jge 0x46abd1
movzx esi, byte [eax + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x46abc7
mov esi, 0x34
test bx, bx
jne 0x46abb1
xor ebx, ebx
xor ebp, ebp
cmp edx, ebp
jae 0x46b2c1
mov ebx, dword [ebx + edx*4]
test ebx, ebx
je 0x46aba8
lea ebp, [0x518040]
movzx esi, byte [ecx + 0xf]
and esi, 0x1f
cmp esi, 0x13
jne 0x46b2a7
movzx esi, byte [ecx + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x46ab9e
mov esi, 0x34
movzx edi, word [ecx + 0x20]
test di, di
jne 0x46ab7b
xor esi, esi
xor edi, edi
cmp edx, esi
jae 0x46b299
mov dword [esp + 0x1c], edx
mov esi, dword [edi + edx*4]
test esi, esi
je 0x46ab75
lea edi, [0x518040]
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.0046a890
movzx eax, byte [esp + 0x14]
test al, al
jne 0x46aa8c
mov byte [esp + 0x78], 0
add esp, 0x68
ret
xor esi, esi
xor edi, edi
jmp 0x46ab42
add esi, ecx
test byte [esi], al
movzx edi, di
cmp edi, 0x100000
ja 0x46b2a0
mov dword [esp + 0x34], eax
mov eax, esi
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x34]
jmp 0x46ab29
mov esi, 0x24
jmp 0x46ab1c
xor ebx, ebx
xor ebp, ebp
jmp 0x46aaf8
lea ebx, [esi + eax]
test byte [ebx], al
cmp ebp, 0x100000
jbe 0x46aadf
jmp 0x46b2c8
mov esi, 0x24
jmp 0x46aad2
xor edx, edx
jmp 0x46abe6
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 0x46b27f
movzx ebx, byte [eax + 0xc]
test bl, 1
je 0x46acba
mov ebx, 0x34
movzx ebp, word [eax + 0x22]
test bp, 0x7fff
jne 0x46ac89
xor ebx, ebx
cmp edx, ebx
jge 0x46ac80
mov dword [esp + 0x20], edx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00468580
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.00468580
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.0046a890
movzx eax, byte [esp + 0x14]
test al, al
jne 0x46abd5
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]
movzx esi, bx
add ebx, ebp
movzx ebx, bx
cmp esi, ebx
ja 0x46b278
cmp ebx, 0x100000
ja 0x46b278
sub ebx, esi
jmp 0x46ac15
mov ebx, 0x24
jmp 0x46ac08
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 0x46ad6e
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x12
jne 0x46b303
mov edx, dword [ecx + 0x24]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x12
jne 0x46b2e9
mov ebx, dword [eax + 0x24]
cmp edx, ebx
je 0x46ad16
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.00467e90
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.00467e90
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.0046a890
movzx eax, byte [esp + 0x14]
jmp 0x46ad0e
mov dword [esp], eax
call fcn.00467e90
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.00467e90
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.0046a890
movzx eax, byte [esp + 0x14]
test al, al
jne 0x46add5
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
jmp 0x46ace2
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
je 0x46adf2
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.00467e90
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.00467e90
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.0046a890
movzx eax, byte [esp + 0x14]
jmp 0x46adea
cmp edx, 0x15
jbe 0x46b16a
lea ebx, [edx - 0x16]
cmp ebx, 1
jbe 0x46b10c
cmp edx, 0x19
jne 0x46accd
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
jne 0x46b103
mov edx, dword [eax + 0x20]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
test edx, edx
je 0x46aea5
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 0x46aed4
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 0x46b0fa
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00402080
movzx eax, byte [esp + 0xc]
test al, al
je 0x46b0fa
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x70]
xor ebx, ebx
jmp 0x46af35
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 0x46b0f1
mov ebp, dword [eax + 0x28]
mov esi, dword [eax + 0x24]
cmp ebx, ebp
jae 0x46b271
lea ebp, [ebx + ebx*2]
mov edi, dword [edx + 0x28]
mov edx, dword [edx + 0x24]
cmp ebx, edi
jae 0x46b26a
mov edi, dword [esi + ebp*4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
test edi, edi
je 0x46af8b
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 0x46afba
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 0x46b0e8
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.00402080
movzx eax, byte [esp + 0xc]
test al, al
je 0x46b0e8
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, [0x518040]
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.0046a890
movzx eax, byte [esp + 0x14]
test al, al
je 0x46b0df
movzx eax, byte [esp + 0x74]
test al, al
jne 0x46b071
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 0x46af1c
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.00466980
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.00466980
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jne 0x46b0d6
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00402080
movzx eax, byte [esp + 0xc]
test al, al
je 0x46b0d6
movzx eax, byte [esp + 0x74]
jmp 0x46b04c
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.00467e90
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.00467e90
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.0046a890
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x78], al
add esp, 0x68
ret
cmp edx, 0x14
jne 0x46b18f
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x46b17d
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x46b186
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 0x46b246
lea ebx, [0x518040]
mov ebp, dword [ecx + 0x20]
test ebp, ebp
je 0x46b23d
lea esi, [0x518040]
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.0046a890
movzx eax, byte [esp + 0x14]
test al, al
jne 0x46b1e1
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00467e90
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.00467e90
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.0046a890
movzx eax, byte [esp + 0x14]
jmp 0x46b1d9
xor ebp, ebp
xor esi, esi
jmp 0x46b1b1
xor edx, edx
xor ebx, ebx
jmp 0x46b1a0
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.00424490
ud2
call fcn.00424490
ud2
call fcn.00424590
ud2
lea eax, [0x4dc820]
mov dword [esp], eax
lea eax, [0x517090]
mov dword [esp + 4], eax
call fcn.00425370
ud2
call fcn.00424490
ud2
call fcn.00424590
ud2
lea eax, [0x4dc820]
mov dword [esp], eax
lea eax, [0x517088]
mov dword [esp + 4], eax
call fcn.00425370
ud2
call fcn.00424490
ud2
call fcn.00424590
ud2
lea eax, [0x4dc820]
mov dword [esp], eax
lea eax, [0x517080]
mov dword [esp + 4], eax
call fcn.00425370
ud2
lea eax, [0x4dc820]
mov dword [esp], eax
lea eax, [0x517078]
mov dword [esp + 4], eax
call fcn.00425370
ud2
lea eax, [0x4dc820]
mov dword [esp], eax
lea eax, [0x517070]
mov dword [esp + 4], eax
call fcn.00425370
ud2
call fcn.00448580
jmp fcn.0046a9d0