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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45e470
mov eax, dword fs:[0]
push eax
sub esp, 0x1d0
mov eax, dword [0x5a6310]
xor eax, esp
mov dword [esp + 0x1c8], eax
push ebx
push esi
push edi
mov eax, dword [0x5a6310]
xor eax, esp
push eax
lea eax, [esp + 0x1e0]
mov dword fs:[0], eax
mov eax, edx
mov dword [esp + 0x48], eax
mov ebx, ecx
xor esi, esi
mov dword [esp + 0x14], esi
test eax, eax
je 0x45032d
call fcn.00453219
xor edi, edi
inc edi
and dword [esp + 0x40], esi
jmp 0x450f27
cmp dword [esp + 0x40], 5
jge 0x450f3a
test edi, edi
je 0x450f3a
push 0
push 0x550aa0
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x450389
push 0x104
lea eax, [esp + 0xd0]
push eax
call dword [0x5452c8]
test eax, eax
je 0x450f23
lea eax, [esp + 0xcc]
push eax
push 0x550aa0
jmp 0x4503c4
push 0
push 0x550aac
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x4503d2
push 0x104
lea eax, [esp + 0xd0]
push eax
call dword [0x5452cc]
test eax, eax
je 0x450f23
lea eax, [esp + 0xcc]
push eax
push 0x550aac
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
jmp 0x450f23
push 0
push 0x54e9d0
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x45040f
lea ecx, [esp + 0x6c]
call fcn.00442638
push dword [eax]
mov ecx, ebx
push 0x54e9d0
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x6c]
jmp 0x450aa7
push 0
push 0x550ab8
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x450530
push 0x550ac8
lea ecx, [esp + 0x6c]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x38]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 0x26
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x45047f
lea eax, [esp + 0xcc]
push eax
push 0x550ab8
mov ecx, ebx
call fcn.0042b11f
mov esi, dword [esp + 0x34]
jmp 0x45050d
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, esp
or esi, 1
push 0x550af4
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x80]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000002
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x34]
test eax, eax
je 0x4504d9
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x4504de
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 1
je 0x4504f9
and eax, 0xfffffffe
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x45050f
push esi
push 0x550ab8
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x68]
jmp 0x450f17
push 0
push 0x550b04
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x45061d
push 0x550ac8
lea ecx, [esp + 0x48]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x50]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
lea eax, [esp + 0x4c]
push eax
push ecx
mov ecx, esp
or esi, 2
push 0x550af4
mov dword [esp + 0x20], esi
call fcn.00427af3
call fcn.00450262
push eax
push 0
push 0
push ecx
lea eax, [esp + 0x5c]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000002
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x4c]
test eax, eax
je 0x4505c6
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x4505cb
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 2
je 0x4505e6
and eax, 0xfffffffd
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x4505fc
push esi
push 0x550b04
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x44]
jmp 0x450f17
push 0
push 0x550b18
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
jne 0x450e7c
push 0
push 0x550b28
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
jne 0x450e7c
push 0
push 0x54eb80
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x450769
push 0x550b38
lea ecx, [esp + 0x58]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x30]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 0x1a
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x4506bb
lea eax, [esp + 0xcc]
push eax
push 0x54eb80
mov ecx, ebx
call fcn.0042b11f
mov esi, dword [esp + 0x2c]
jmp 0x450746
lea eax, [esp + 0x2c]
push eax
push ecx
mov ecx, esp
or esi, 8
push 0x550b8c
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x6c]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000001
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x2c]
test eax, eax
je 0x450712
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x450717
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 8
je 0x450732
and eax, 0xfffffff7
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x450748
push esi
push 0x54eb80
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x54]
jmp 0x450f17
push 0
push 0x550b94
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x450887
push 0x550b38
lea ecx, [esp + 0x68]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x40]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 0x23
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x4507d9
lea eax, [esp + 0xcc]
push eax
push 0x550b94
mov ecx, ebx
call fcn.0042b11f
mov esi, dword [esp + 0x3c]
jmp 0x450864
lea eax, [esp + 0x3c]
push eax
push ecx
mov ecx, esp
or esi, 0x10
push 0x550ba4
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x7c]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000002
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x450830
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x450835
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 0x10
je 0x450850
and eax, 0xffffffef
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x450866
push esi
push 0x550b94
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x64]
jmp 0x450f17
push 0
push 0x550bb4
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x4509a5
push 0x550b38
lea ecx, [esp + 0x60]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x34]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 5
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x4508f7
lea eax, [esp + 0xcc]
push eax
push 0x550bb4
mov ecx, ebx
call fcn.0042b11f
mov esi, dword [esp + 0x30]
jmp 0x450982
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esp
or esi, 0x20
push 0x550bc4
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000001
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x30]
test eax, eax
je 0x45094e
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x450953
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 0x20
je 0x45096e
and eax, 0xffffffdf
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x450984
push esi
push 0x54eb80
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x5c]
jmp 0x450f17
push 0
push 0x550bd0
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
jne 0x450d2d
push 0
push 0x550bdc
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
jne 0x450d2d
push 0
mov edi, 0x550bf4
push edi
mov ecx, ebx
call fcn.00429ef7
cmp eax, 0xffffffff
je 0x450ab4
push 0x54be9c
lea ecx, [esp + 0x1c]
call fcn.00427af3
cmp dword [esp + 0x48], 0
je 0x450a3d
call fcn.0044fb8f
cmp eax, 4
jl 0x450a3d
push ecx
mov ecx, esp
push edi
call fcn.00427af3
lea ecx, [esp + 0x78]
call fcn.0045265c
pop ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00429065
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x74]
lea ecx, [ecx - 0x10]
call fcn.00427b5b
jmp 0x450a82
push 0x104
lea eax, [esp + 0xd0]
push eax
push edi
call dword [0x5452d0]
test eax, eax
jne 0x450a5d
push eax
push 0x54be9c
jmp 0x450a79
lea ecx, [esp + 0xcc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450a67
sub ecx, edx
push ecx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x20]
call fcn.00427a52
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jne 0x450a90
xor edi, edi
jmp 0x450a9b
push eax
push edi
mov ecx, ebx
call fcn.0042b11f
mov edi, eax
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00427b5b
jmp 0x450f23
push 0
mov edi, 0x550c04
push edi
mov ecx, ebx
call fcn.00429ef7
push 0
mov ecx, ebx
cmp eax, 0xffffffff
je 0x450cf0
push edi
call fcn.00429ef7
mov dword [esp + 0x50], eax
add eax, 5
push eax
push 0x550c0c
mov ecx, ebx
mov dword [esp + 0x88], eax
call fcn.00429ef7
mov edi, eax
test edi, edi
jns 0x450b2f
push ecx
mov ecx, esp
push 0x550c10
call fcn.00427af3
push 0x23e
push ecx
mov ecx, esp
push 0x55080c
call fcn.00427af3
push ecx
mov ecx, esp
push 0x550c30
call fcn.00427af3
push 1
call fcn.00444998
jmp 0x450d26
mov esi, 0x5a6010
push esi
lea ecx, [esp + 0x28]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push esi
lea ecx, [esp + 0x2c]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x28]
push eax
mov ecx, edi
sub ecx, edx
push ecx
mov eax, esp
push ecx
push edx
push eax
mov ecx, ebx
call fcn.00429495
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x84]
call fcn.004541df
pop ecx
pop ecx
push esi
lea ecx, [esp + 0x3c]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
push eax
call fcn.004299f6
push dword [esp + 0x8c]
lea ecx, [esp + 0x98]
call fcn.004545db
cmp dword [esp + 0xb4], 0
je 0x450c19
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
push eax
call fcn.004299f6
lea ecx, [esp + 0x8c]
call fcn.00454f10
test eax, eax
je 0x450c19
mov esi, dword [esp + 0x38]
cmp dword [esi - 0xc], 0
je 0x450c1d
mov eax, dword [esp + 0x50]
sub edi, eax
inc edi
push edi
push eax
mov ecx, ebx
call fcn.004451a1
push esi
push dword [esp + 0x54]
mov ecx, ebx
call fcn.00445223
xor edi, edi
inc edi
jmp 0x450caf
mov esi, dword [esp + 0x38]
push ecx
mov ecx, esp
push 0x550c10
call fcn.00427af3
push 0x252
push ecx
mov ecx, esp
push 0x55080c
call fcn.00427af3
push ecx
mov edi, esp
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push 0x550c44
push eax
mov edx, 0x550c48
lea ecx, [esp + 0x94]
call fcn.0042934a
pop ecx
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.004292e8
pop ecx
mov edx, eax
mov ecx, edi
call fcn.00429293
pop ecx
call dword [0x545120]
push eax
call fcn.00444998
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x70]
lea ecx, [ecx - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x78]
lea ecx, [ecx - 0x10]
call fcn.00427b5b
xor edi, edi
lea ecx, [esp + 0x84]
call fcn.004546c2
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x24]
jmp 0x450f17
push 0x550c64
call fcn.00429ef7
test eax, eax
jns 0x450d26
push 0
push 0x550c78
mov ecx, ebx
call fcn.00429ef7
test eax, eax
jns 0x450d26
push ecx
mov ecx, esp
push ebx
mov edx, 0x550c88
call fcn.0042934a
pop ecx
push 1
call fcn.0044213c
xor edi, edi
jmp 0x450f23
push 0x550b38
lea ecx, [esp + 0x5c]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x24]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 0x10
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x450dc9
lea eax, [esp + 0xcc]
push eax
push 0x550bdc
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450da1
lea eax, [esp + 0xcc]
push eax
push 0x550bd0
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450da1
mov esi, dword [esp + 0x20]
xor edi, edi
jmp 0x450da8
mov esi, dword [esp + 0x20]
xor edi, edi
inc edi
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x58]
jmp 0x450f17
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, esp
or esi, 0x40
push 0x550bec
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000001
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x20]
test eax, eax
je 0x450e20
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x450e25
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 0x40
je 0x450e40
and eax, 0xffffffbf
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x450da8
push esi
push 0x550bdc
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450da5
push esi
push 0x550bd0
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450da5
xor edi, edi
jmp 0x450da8
push 0x550b38
lea ecx, [esp + 0x64]
call fcn.00427af3
push 0x5a6010
lea ecx, [esp + 0x20]
call fcn.00427724
or dword [esp + 0x1e8], 0xffffffff
push 0
push 0x1c
lea eax, [esp + 0xd4]
push eax
push 0
call dword [0x54539c]
test eax, eax
je 0x450f6c
lea eax, [esp + 0xcc]
push eax
push 0x550b18
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450ef4
lea eax, [esp + 0xcc]
push eax
push 0x550b28
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450ef4
mov esi, dword [esp + 0x1c]
xor edi, edi
jmp 0x450efb
mov esi, dword [esp + 0x1c]
xor edi, edi
inc edi
or dword [esp + 0x1e8], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00427b5b
or dword [esp + 0x1e8], 0xffffffff
mov ecx, dword [esp + 0x60]
add ecx, 0xfffffff0
call fcn.00427b5b
mov esi, dword [esp + 0x14]
inc dword [esp + 0x40]
push ecx
push 0x25
mov ecx, ebx
call fcn.0044529c
cmp eax, 0xffffffff
jg 0x450339
cmp dword [esp + 0x48], 0
je 0x450f46
call fcn.00441d4e
mov eax, edi
mov ecx, dword [esp + 0x1e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c8]
xor ecx, esp
call fcn.0040dd71
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
push eax
push ecx
mov ecx, esp
or esi, 4
push 0x550b7c
mov dword [esp + 0x20], esi
call fcn.00427af3
push 0
push 1
push 0
push ecx
lea eax, [esp + 0x78]
mov ecx, esp
push eax
call fcn.004299f6
push 0x80000001
lea ecx, [esp + 0xa0]
call fcn.004545db
mov ecx, eax
call fcn.00454f10
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x450fc3
cmp dword [esi - 0xc], 0
mov byte [esp + 0x13], 1
jne 0x450fc8
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x14]
test al, 4
je 0x450fe3
and eax, 0xfffffffb
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], eax
call fcn.004546c2
cmp byte [esp + 0x13], 0
je 0x450efb
push esi
push 0x550b18
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450ef8
push esi
push 0x550b28
mov ecx, ebx
call fcn.0042b11f
test eax, eax
jne 0x450ef8
xor edi, edi
jmp 0x450efb