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

Disassembly:
push 0xffffffffffffffff
push 0x5cb7a4
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x694114]
xor eax, esp
mov dword [esp + 0xfc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x694114]
xor eax, esp
push eax
lea eax, [esp + 0x114]
mov dword fs:[0], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x124]
xor ebx, ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], eax
cmp eax, ebx
je 0x45a2a4
mov eax, dword [ecx + 0x14]
cmp eax, 8
jb 0x459a8f
mov edx, dword [ecx]
mov dword [esp + 0x38], edx
jmp 0x459a95
mov edx, ecx
mov dword [esp + 0x38], ecx
cmp eax, 8
jb 0x459a9e
mov eax, dword [ecx]
jmp 0x459aa0
mov eax, ecx
mov ecx, dword [ecx + 0x10]
lea edi, [eax + ecx*2]
mov ebp, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ebp
cmp edx, edi
je 0x459ad0
movzx eax, word [ebp]
push eax
call fcn.00585aa8
add esp, 4
test eax, eax
je 0x459acc
add ebp, 2
cmp ebp, edi
jne 0x459ab4
mov dword [esp + 0x30], ebp
sub edi, ebp
sar edi, 1
mov dword [esp + 0x34], edi
xor edi, edi
lea ebx, [ebx]
mov edx, dword [edi*8 + 0x68a6e8]
push edx
lea ecx, [esp + 0xcc]
mov esi, 7
call fcn.00402bb0
xor eax, eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov word [esp + 0x5c], ax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
xor ecx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], cx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x11c], 2
call fcn.00425e70
cmp eax, ebx
je 0x459b6e
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0xd0]
push edx
mov ecx, eax
call fcn.00429320
cmp eax, ebx
jne 0x459b7e
lea eax, [esp + 0xc8]
push eax
call fcn.004292f0
add esp, 4
push 0xffffffffffffffff
xor ecx, ecx
push ebx
mov word [esp + 0xac], cx
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebx
call fcn.00402610
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov edx, dword [esp + 0x9c]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x94], 8
jb 0x459bde
mov eax, dword [esp + 0x80]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], cx
mov edx, dword [esp + 0x78]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x70], 8
jb 0x459c17
mov eax, dword [esp + 0x5c]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov word [esp + 0x5c], cx
mov edx, dword [esp + 0xe4]
push edx
mov byte [esp + 0x120], 6
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xdc], 8
jb 0x459c58
mov eax, dword [esp + 0xc8]
push eax
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0xb4]
xor ecx, ecx
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov word [esp + 0xc8], cx
cmp eax, dword [esp + 0x34]
jbe 0x459cb3
mov edx, dword [esp + 0xc0]
push edx
mov dword [esp + 0x120], 0xffffffff
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xb8], 8
jb 0x459d8d
mov eax, dword [esp + 0xa4]
push eax
jmp 0x459d85
lea esi, [ebp + eax*2]
xor ecx, ecx
mov dword [esp + 0x100], 7
mov dword [esp + 0xfc], ebx
mov word [esp + 0xec], cx
cmp ebp, esi
je 0x459ceb
mov edx, esi
sub edx, ebp
sar edx, 1
push edx
push ebp
lea ecx, [esp + 0xf4]
call fcn.00402710
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xf0]
mov byte [esp + 0x120], 7
call fcn.004205f0
mov ecx, dword [esp + 0x108]
test eax, eax
push ecx
sete byte [esp + 0x1e]
mov byte [esp + 0x120], 6
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x100], 8
jb 0x459d4e
mov edx, dword [esp + 0xec]
push edx
call fcn.00584768
add esp, 4
cmp byte [esp + 0x1a], bl
jne 0x459e80
mov eax, dword [esp + 0xc0]
push eax
mov dword [esp + 0x120], 0xffffffff
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xb8], 8
jb 0x459d8d
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00584768
add esp, 4
inc edi
cmp edi, 3
jb 0x459ae0
mov edi, 0xc
mov byte [esp + 0x16], bl
mov byte [esp + 0x19], bl
mov byte [esp + 0x18], bl
mov byte [esp + 0x17], bl
mov byte [esp + 0x1a], bl
mov dword [esp + 0x40], 7
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
cmp ebp, dword [esp + 0x1c]
je 0x45a2a4
mov esi, ebp
mov dword [esp + 0x20], esi
cmp ebp, dword [esp + 0x1c]
je 0x45a28c
mov edi, edi
movzx eax, word [esi]
cmp eax, 0x80
jb 0x459f18
lea ecx, [esp + 0x1b]
push ecx
push eax
call fcn.00423890
add esp, 8
test al, al
jne 0x459f1c
cmp esi, dword [esp + 0x1c]
je 0x45a28c
push ebx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
push 0xa
call fcn.00457620
add esp, 0x14
test al, al
je 0x459f96
mov cl, byte [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp cl, bl
jne 0x459e48
lea edx, [eax - 1]
cmp edx, 0xb
jbe 0x459f80
cmp byte [esp + 0x16], bl
jne 0x459f5d
cmp cl, bl
je 0x459f4d
mov eax, dword [esp + 0x28]
cmp byte [esp + 0x17], bl
jne 0x459e69
mov eax, 0x7b8
push ebx
push eax
push edi
call fcn.00468fd0
movzx ecx, ax
mov eax, dword [esp + 0x40]
add esp, 0xc
jmp 0x459f52
mov edi, dword [edi*8 + 0x68a6ec]
lea edx, [esp + 0xec]
push edx
call fcn.00467510
add esp, 4
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.00467540
lea ecx, [esp + 0x48]
call fcn.004693d0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp edi, ebx
je 0x459ee1
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edi
call fcn.00469440
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x58]
push edx
mov dword [ecx], esi
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xb8], 8
jb 0x459f11
mov eax, dword [esp + 0xa4]
push eax
call fcn.00584768
add esp, 4
mov al, 1
jmp 0x45a2a6
mov byte [esp + 0x1b], al
movsx edx, byte [esp + 0x1b]
push edx
push str..____t_r_n
call fcn.00585ba0
add esp, 8
test eax, eax
je 0x459e04
add esi, 2
mov dword [esp + 0x20], esi
cmp esi, dword [esp + 0x1c]
jne 0x459de0
jmp 0x45a28c
mov ecx, 0x1f
cmp eax, ebx
je 0x459f5d
movzx ecx, cx
cmp eax, ecx
jbe 0x459f78
cmp byte [esp + 0x17], bl
jne 0x45a28c
movzx edx, ax
mov byte [esp + 0x17], 1
mov dword [esp + 0x28], edx
jmp 0x45a27a
movzx eax, ax
jmp 0x45a271
lea edi, [eax - 1]
mov byte [esp + 0x18], 1
mov byte [esp + 0x1a], 1
mov dword [esp + 0x2c], edi
jmp 0x45a27a
push 3
push 3
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00457850
add esp, 0x10
cmp eax, 0xc
je 0x459fe8
cmp byte [esp + 0x18], bl
je 0x459fd8
cmp byte [esp + 0x16], bl
jne 0x45a2d0
cmp byte [esp + 0x1a], bl
je 0x45a29a
inc edi
movzx ecx, di
mov dword [esp + 0x24], ecx
mov byte [esp + 0x16], 1
mov edi, eax
mov dword [esp + 0x2c], edi
mov byte [esp + 0x18], 1
jmp 0x45a27a
push 3
push 3
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00457b80
add esp, 0x10
cmp eax, 7
je 0x45a01b
cmp byte [esp + 0x19], bl
jne 0x45a28c
mov dword [esp + 0x40], eax
mov byte [esp + 0x19], 1
jmp 0x45a27a
mov ebp, dword [esp + 0x20]
sub ebp, dword [esp + 0x38]
xor edi, edi
sar ebp, 1
jmp 0x45a030
mov ecx, dword [edi*4 + 0x5fee30]
push ecx
lea ecx, [esp + 0xcc]
call fcn.00402bb0
mov esi, 7
xor edx, edx
mov dword [esp + 0x11c], 8
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], dx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
xor eax, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov word [esp + 0x5c], ax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x11c], 0xa
call fcn.00425e70
cmp eax, ebx
je 0x45a0c2
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0xd0]
push ecx
mov ecx, eax
call fcn.00429320
cmp eax, ebx
jne 0x45a0d2
lea edx, [esp + 0xc8]
push edx
call fcn.004292f0
add esp, 4
push 0xffffffffffffffff
xor ecx, ecx
push ebx
mov word [esp + 0xac], cx
push eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebx
call fcn.00402610
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov edx, dword [esp + 0x78]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x70], 8
jb 0x45a129
mov eax, dword [esp + 0x5c]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov word [esp + 0x5c], cx
mov edx, dword [esp + 0x9c]
push edx
call fcn.005844d1
add esp, 4
cmp dword [esp + 0x94], 8
jb 0x45a162
mov eax, dword [esp + 0x80]
push eax
call fcn.00584768
add esp, 4
xor ecx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], cx
mov edx, dword [esp + 0xe4]
push edx
mov byte [esp + 0x120], 0xe
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xdc], 8
jb 0x45a1ac
mov eax, dword [esp + 0xc8]
push eax
call fcn.00584768
add esp, 4
mov eax, dword [esp + 0xb4]
lea edx, [esp + 0xa4]
push edx
xor ecx, ecx
push eax
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0x50]
push ebp
mov dword [esp + 0xe8], 7
mov dword [esp + 0xe4], ebx
mov esi, eax
call fcn.00420c60
mov dword [esp + 0x11c], 0xffffffff
test eax, eax
je 0x45a229
mov eax, dword [esp + 0xc0]
push eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xb8], 8
jb 0x45a21d
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00584768
add esp, 4
inc edi
cmp edi, 0x14
jb 0x45a030
jmp 0x45a25e
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc0]
lea eax, [edx + esi*2]
push ecx
mov dword [esp + 0x24], eax
call fcn.005844d1
add esp, 4
cmp dword [esp + 0xb8], 8
jb 0x45a25e
mov edx, dword [esp + 0xa4]
push edx
call fcn.00584768
add esp, 4
cmp edi, 0x14
je 0x45a28c
cmp byte [esp + 0x16], bl
jne 0x45a2d0
inc edi
movzx eax, di
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov byte [esp + 0x16], 1
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x30], ebp
cmp ebp, dword [esp + 0x1c]
jne 0x459dce
cmp byte [esp + 0x16], bl
jne 0x45a2d0
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
cmp byte [esp + 0x19], bl
jne 0x45a343
xor al, al
mov ecx, dword [esp + 0x114]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xfc]
xor ecx, esp
call fcn.00585b7b
add esp, 0x10c
ret 8
cmp byte [esp + 0x19], bl
jne 0x45a33b
mov al, byte [esp + 0x18]
cmp al, bl
je 0x45a2a4
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
cmp byte [esp + 0x17], bl
je 0x45a382
cmp byte [esp + 0x16], bl
je 0x45a429
cmp al, bl
jne 0x45a391
mov eax, dword [esp + 0x24]
cmp ax, 0xc
ja 0x45a2a4
mov esi, dword [esp + 0x28]
movzx edi, ax
dec edi
cmp esi, ebx
jle 0x45a2a4
push ebx
push 0xffff8000
push edi
call fcn.00468fd0
movzx ecx, ax
add esp, 0xc
cmp esi, ecx
jg 0x45a2a4
movzx edx, si
mov dword [esp + 0x24], edx
jmp 0x45a397
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x18]
cmp al, bl
jne 0x45a35c
cmp byte [esp + 0x17], bl
jne 0x45a35c
cmp byte [esp + 0x16], bl
je 0x45a378
jmp 0x45a2a4
cmp byte [esp + 0x16], bl
je 0x45a2a4
cmp al, bl
je 0x45a2a4
cmp byte [esp + 0x17], bl
je 0x45a2a4
cmp byte [esp + 0x19], bl
je 0x45a2e6
cmp al, bl
jne 0x45a391
push ebx
call fcn.00468a40
add esp, 4
mov edi, eax
cmp byte [esp + 0x17], bl
jne 0x45a3a4
push ebx
call fcn.004689b0
add esp, 4
mov dword [esp + 0x28], eax
cmp byte [esp + 0x16], bl
je 0x45a436
mov eax, dword [esp + 0x28]
push ebx
push eax
push edi
call fcn.00468fd0
add esp, 0xc
cmp word [esp + 0x24], ax
ja 0x45a2a4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
push ebx
push ebx
push ebx
push ebx
push ecx
push edi
push edx
mov ecx, esi
call fcn.00469020
cmp byte [esp + 0x19], bl
je 0x45a47e
push ebx
lea ecx, [esp + 0x4c]
call fcn.00467430
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.00468690
mov esi, eax
cmp word [esi + 0x18], 7
jne 0x45a41a
mov ecx, esi
call fcn.00467400
movzx edx, word [esi + 0x18]
cmp edx, dword [esp + 0x40]
je 0x45a47e
jmp 0x45a2a4
cmp al, bl
jne 0x45a391
jmp 0x45a2a4
lea eax, [esp + 0xec]
push eax
call fcn.00467510
add esp, 4
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.00467540
lea ecx, [esp + 0x38]
call fcn.004693d0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [ecx], edx
mov edx, dword [esp + 0x40]
push 1
push edx
mov dword [ecx + 4], eax
call fcn.004698c0
mov eax, dword [esp + 0x58]
mov dword [eax], ebp
mov al, 1
jmp 0x45a2a6