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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x138
mov esi, esp
mov dword [esi + 0x14], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x6c], eax
mov ecx, esp
mov dword [esi + 0x124], ecx
mov dword [esi + 0x130], 0xffffffff
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], 0x45b6a0
mov edx, dword fs:[0]
mov dword [esi + 0x128], edx
mov dword fs:[0], ecx
mov byte [esi + 0x103], 0
mov byte [esi + 0x103], 1
mov edx, dword [eax]
xor eax, eax
mov ecx, 1
cmp edx, 0
cmove eax, ecx
cmp eax, 0
jne 0x4539a0
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x104], ecx
mov dword [esi + 0x130], 0
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x98]
mov dword [eax], ecx
mov dword [eax + 8], 0x47
call fcn.00451270
jmp 0x4539cc
mov ecx, dword [esi + 0x6c]
mov dword [esi + 0x130], 0
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 1
mov dword [eax + 4], 0x48d2f0
call fcn.00452d00
mov byte [esi + 0x6b], al
jmp 0x453f0c
mov al, byte [esi + 0x98]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x453a0e
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x60], eax
mov edx, dword [esi + 0xa4]
mov dword [esi + 0x64], edx
mov dword [esi + 0x10c], edx
mov dword [esi + 0x108], eax
add ecx, 0x10
mov eax, esp
mov dword [eax], ecx
call fcn.00448b00
mov byte [esi + 0x6a], al
jmp 0x453a36
mov al, byte [esi + 0x99]
and al, 1
mov byte [esi + 0xae], al
mov eax, esp
lea ecx, [esi + 0xae]
mov dword [eax], ecx
call fcn.00451cf0
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x453e50
mov al, byte [esi + 0x6a]
test al, 1
jne 0x453a4b
jmp 0x453a3f
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x60]
or eax, ecx
jne 0x453a99
jmp 0x453a72
mov eax, dword [esi + 0x6c]
mov byte [esi + 0x103], 0
mov dword [esi + 0xc0], eax
mov ecx, dword [esi + 0xc0]
mov eax, esp
mov dword [eax], ecx
call fcn.00457eb0
mov byte [esi + 0x57], al
jmp 0x453e40
mov eax, dword [esi + 0x6c]
mov byte [esi + 0x103], 0
mov dword [esi + 0xfc], eax
mov ecx, dword [esi + 0xfc]
mov eax, esp
mov dword [eax], ecx
call fcn.00457eb0
mov byte [esi + 0x56], al
jmp 0x453c8c
mov ecx, dword [esi + 0x6c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 4
mov dword [eax + 4], str.for__
call fcn.00452d00
mov byte [esi + 0x55], al
jmp 0x453ab8
mov al, byte [esi + 0x55]
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
mov byte [esi + 0x54], al
jmp 0x453acf
mov al, byte [esi + 0x54]
and al, 1
mov byte [esi + 0xc7], al
mov al, byte [esi + 0xc7]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x453b69
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x60]
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi + 0xcc]
mov edi, dword [esi + 0xd0]
mov ebx, dword [esi + 0xd4]
mov eax, esp
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x80]
mov dword [eax], ecx
call fcn.00449850
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x50], eax
jmp 0x453b7e
mov eax, esp
mov dword [eax], 0x48d3e4
call fcn.0047d040
mov byte [esi + 0x43], al
jmp 0x453e30
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x4c]
mov dword [esi + 0xd8], edi
mov dword [esi + 0xdc], edx
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xe4], eax
mov eax, esp
lea ecx, [esi + 0xd8]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x70]
mov dword [eax], ecx
call fcn.00446650
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x3c], eax
jmp 0x453bd1
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [esi + 0xe8], edi
mov dword [esi + 0xec], edx
mov dword [esi + 0xf0], ecx
mov dword [esi + 0xf4], eax
mov eax, dword [esi + 0xe8]
cmp eax, 0
jne 0x453c1f
mov ecx, dword [esi + 0x6c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 2
mov dword [eax + 4], 0x48d38c
call fcn.00452d00
mov byte [esi + 0x2f], al
jmp 0x453c44
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x118], eax
or eax, ecx
jne 0x453d2b
jmp 0x453d12
mov al, byte [esi + 0x2f]
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
mov byte [esi + 0x2e], al
jmp 0x453c5b
mov al, byte [esi + 0x2e]
and al, 1
mov byte [esi + 0xfb], al
mov al, byte [esi + 0xfb]
and al, 1
movzx eax, al
cmp eax, 0
je 0x453a72
mov eax, esp
mov dword [eax], 0x48d3a0
call fcn.0047d040
mov byte [esi + 0x2d], al
jmp 0x453cf8
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x60]
mov dl, byte [esi + 0x56]
and dl, 1
mov byte [esi + 0x117], dl
mov eax, dword [eax + 0x14]
mov edx, eax
sub edx, ecx
mov dword [esi + 0x28], edx
cmp eax, ecx
setb al
test al, 1
jne 0x453cc7
mov al, byte [esi + 0x56]
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x28]
mov dword [ecx + 0x14], edx
and al, 1
mov byte [esi + 0x97], al
jmp 0x453cd8
mov eax, esp
mov dword [eax], 0x48d390
call fcn.00469680
jmp 0x453cd6
ud2
mov al, byte [esi + 0x97]
mov ecx, dword [esi + 0x128]
mov dword fs:[0], ecx
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [esi + 0x2d]
and al, 1
mov byte [esi + 0x97], al
test byte [esi + 0x103], 1
jne 0x453f1c
jmp 0x453cd8
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 0x14]
add eax, 1
mov dword [esi + 0x24], eax
setb al
test al, 1
jne 0x453db6
jmp 0x453d91
mov ecx, dword [esi + 0x6c]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 2
mov dword [eax + 4], 0x48d3b0
call fcn.00452d00
mov byte [esi + 0x23], al
jmp 0x453d4a
mov al, byte [esi + 0x23]
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
mov byte [esi + 0x22], al
jmp 0x453d61
mov al, byte [esi + 0x22]
and al, 1
mov byte [esi + 0xf9], al
mov al, byte [esi + 0xf9]
and al, 1
movzx eax, al
cmp eax, 0
je 0x453d12
mov eax, esp
mov dword [eax], 0x48d3d4
call fcn.0047d040
mov byte [esi + 0x21], al
jmp 0x453e20
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x14], eax
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], 1
call fcn.00453640
mov byte [esi + 0x20], al
jmp 0x453dc8
mov eax, esp
mov dword [eax], 0x48d3b4
call fcn.00469640
jmp 0x453cd6
mov al, byte [esi + 0x20]
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
mov byte [esi + 0x1f], al
jmp 0x453ddf
mov al, byte [esi + 0x1f]
and al, 1
mov byte [esi + 0xfa], al
mov al, byte [esi + 0xfa]
and al, 1
movzx eax, al
cmp eax, 0
je 0x453ba2
mov eax, esp
mov dword [eax], 0x48d3c4
call fcn.0047d040
mov byte [esi + 0x1e], al
jmp 0x453e10
mov al, byte [esi + 0x1e]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
mov al, byte [esi + 0x21]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
mov al, byte [esi + 0x43]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
mov al, byte [esi + 0x57]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x5c]
mov edi, dword [esi + 0x58]
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00452d00
mov byte [esi + 0x1d], al
jmp 0x453e6d
mov al, byte [esi + 0x1d]
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
mov byte [esi + 0x1c], al
jmp 0x453e84
mov al, byte [esi + 0x1c]
and al, 1
mov byte [esi + 0xaf], al
mov al, byte [esi + 0xaf]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x453eea
mov eax, dword [esi + 0x6c]
mov cl, byte [esi + 0xae]
and cl, 1
mov byte [esi + 0xb4], cl
mov dword [esi + 0xb0], 0
mov ecx, dword [esi + 0xb0]
mov dword [eax], ecx
mov ecx, dword [esi + 0xb4]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0xb8]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xbc]
mov dword [eax + 0xc], ecx
mov byte [esi + 0x97], 0
jmp 0x453d03
mov eax, esp
mov dword [eax], 0x48d3f4
call fcn.0047d040
mov byte [esi + 0x1b], al
jmp 0x453efc
mov al, byte [esi + 0x1b]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
mov al, byte [esi + 0x6b]
and al, 1
mov byte [esi + 0x97], al
jmp 0x453d03
jmp 0x453cd8