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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [0x45c548]
sub esp, 0x42c
mov ecx, dword [0x45b8d0]
not eax
imul ecx, eax
movzx eax, word [0x45ae8a]
push esi
or ecx, 0x609d8a26
and eax, ecx
mov word [0x45ae8a], ax
xor dword [0x460820], 0x20893753
mov ecx, dword [0x45f050]
mov eax, dword [0x45dedc]
sar ecx, 9
or eax, ecx
or eax, 0x49caa8b4
mov dword [0x45dedc], eax
add dword [0x45e5b8], 0xa2f95c81
movsx eax, word [0x45a65c]
movzx ecx, word [0x458f50]
imul eax, eax, 0x2636b42c
add eax, 0x3e471472
and ecx, eax
mov word [0x458f50], cx
lea ecx, [esp + 0x3c]
inc word [0x45a65c]
add dword [0x45d53c], 0xb1b07ce
call fcn.00422e20
dec dword [0x45fd70]
mov ecx, dword [0x45fd70]
movzx eax, word [0x458cb8]
and ecx, 0x8462eacb
sub eax, ecx
lea ecx, [esp + 8]
mov word [0x458cb8], ax
call fcn.00404ab0
movzx eax, word [0x45ab16]
or eax, 0xbea6cdb8
push 0x1c
mov word [0x45b230], ax
call fcn.004032d0
add esp, 4
test eax, eax
je 0x415d24
mov ecx, eax
call fcn.00404330
mov dword [0x457f70], eax
jmp 0x415d2e
mov dword [0x457f70], 0
mov eax, dword [0x45b8c4]
not eax
mov dword [esp + 0x1c], 0x10
mov dword [0x45cc94], eax
movzx eax, word [0x45aac4]
and eax, 0xfffffecb
mov word [0x45aac4], ax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
call dword [0x45891c]
test eax, eax
jne 0x415df6
inc dword [0x45ea38]
mov eax, dword [0x45ea38]
add eax, 0x34be6850
cmp eax, 0x63bcfe05
jg 0x415d9f
inc dword [0x45eb0c]
mov eax, dword [0x45eb0c]
imul eax, eax, 0x14ee7de1
and eax, dword [0x45e734]
mov dword [0x45e734], eax
push 0xe
push 0x31a
call fcn.00401b80
add dword [0x460aec], 0x4c47310f
mov esi, eax
lea eax, [esp + 0x28]
push esi
push eax
call fcn.0042afb0
imul ecx, dword [0x45bf44], 0xd8fecd90
push esi
push 0xe
mov dword [0x45bf44], ecx
call fcn.004232b0
mov eax, dword [0x45d30c]
add esp, 0x18
mov ecx, dword [0x45ef60]
add eax, 0x57e6e73f
imul ecx, eax
mov dword [0x45ef60], ecx
movsx eax, word [0x45a2e6]
mov ecx, 0xfb42d003
sub ecx, eax
movzx eax, word [0x458d3c]
and eax, ecx
and eax, 0xf3bc93a
mov word [0x458d3c], ax
mov eax, dword [0x45fec8]
sar eax, 3
add eax, 0x5ce4fa61
cmp eax, 0xd966ca33
jne 0x415e47
movsx eax, word [0x45a26e]
or eax, 0x60a7c831
add dword [0x45e97c], eax
inc word [0x45a26e]
jmp 0x415e66
mov eax, dword [0x45c9c0]
mov ecx, 0x39b80ed
sub ecx, eax
mov eax, dword [0x45fe1c]
imul eax, ecx
mov dword [0x45fe1c], eax
inc dword [0x45c9c0]
mov ecx, dword [0x45e97c]
mov eax, dword [0x45cc18]
sar ecx, 0xa
shl eax, 5
xor eax, ecx
cmp eax, 0xffffff79
jle 0x415e8a
xor dword [0x45bdcc], 0xfbd6ffe6
push 0x7e
push 0x2e22
call fcn.00401b80
imul ecx, dword [0x45b930], 0x20100c04
mov esi, eax
lea eax, [esp + 0x148]
push esi
push eax
mov dword [0x45b930], ecx
call fcn.0042afb0
mov cx, word [0x459918]
add esp, 0x10
mov eax, dword [0x45fff8]
dec word [0x459918]
movsx ecx, cx
and eax, ecx
cmp eax, 0x63ecaea8
je 0x415ef4
movsx ecx, word [0x459764]
movzx eax, word [0x45aeca]
xor ecx, 0xac320563
add eax, ecx
mov word [0x45aeca], ax
push esi
push 0x7e
call fcn.004232b0
imul eax, dword [0x45be7c], 0xaef02677
lea ecx, [esp + 0x10]
add esp, 8
mov dword [0x45be7c], eax
lea eax, [esp + 0x150]
push eax
call fcn.0040a280
mov dword [0x45dda0], 0x79118f78
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
movsx ecx, word [0x458df2]
mov eax, dword [0x45e7fc]
xor ecx, 0x1238abbd
imul eax, ecx
mov dword [0x45e7fc], eax
lea eax, [esp + 0x150]
dec word [0x458df2]
push eax
lea eax, [esp + 0x244]
push eax
call fcn.0042afb0
mov eax, dword [0x45c5b4]
mov ecx, 0xe4355733
sub ecx, eax
movzx eax, word [0x459fae]
or eax, ecx
mov word [0x459fae], ax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x24c]
push eax
call fcn.0042afc0
mov ecx, dword [0x45ffb4]
movzx eax, word [0x45b48c]
sub ecx, 0x156fba63
and ecx, 0x412e80c2
add eax, ecx
mov word [0x45b48c], ax
lea eax, [esp + 0x150]
push 0x100
push 0
push eax
call fcn.0042cb90
mov ecx, dword [0x45bad4]
mov eax, dword [0x45cc54]
sar ecx, 7
add ecx, 0x5847d760
or ecx, 0x4555d8cc
imul eax, ecx
mov dword [0x45cc54], eax
lea eax, [esp + 0x6c]
add dword [0x45c998], 0x3948fc97
push eax
call fcn.00414310
dec word [0x458af6]
add esp, 0x20
movzx eax, word [0x458af6]
mov ecx, dword [0x4606dc]
mov esi, dword [0x4587d0]
cwde
and ecx, eax
mov dword [0x4606dc], ecx
lea ecx, [esi + 1]
jmp 0x416030
mov al, byte [esi]
inc esi
test al, al
jne 0x416030
mov eax, dword [0x45d5c0]
sub esi, ecx
xor eax, 0xb8233c2c
lea ecx, [esp + 0x118]
add dword [0x45c5b8], eax
mov eax, dword [0x4587d0]
mov byte [eax + esi - 1], 0
and dword [0x45fec4], 0xbffbfe26
push dword [0x4587d0]
call fcn.00428a70
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0x118]
call fcn.00404390
movzx eax, word [0x4594c8]
lea ecx, [esp + 8]
add eax, 0x26e6bc76
mov word [0x4594c8], ax
push 9
call fcn.00406ba0
or dword [0x45f674], 0xef91f6ab
lea ecx, [esp + 0x104]
mov eax, dword [0x4587d0]
mov byte [eax + esi - 1], 0x5c
movzx eax, word [0x45b090]
push dword [0x4587b4]
sub eax, 0x44fca
mov word [0x45b090], ax
call fcn.00428a70
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0x104]
call fcn.00404390
mov dword [0x45d17c], 0x4372fe57
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
push dword [0x4587cc]
mov eax, 0xffffc82c
lea ecx, [esp + 0xb8]
mov word [0x459f6e], ax
call fcn.00428a70
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0xb4]
call fcn.00404390
xor dword [0x45f344], 0x655577a0
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
xor dword [0x45c33c], 0x8b3f5f9e
lea ecx, [esp + 0x78]
push dword [0x4587c4]
call fcn.00428a70
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0x78]
call fcn.00404390
or dword [0x45f1a4], 0x69c46588
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
add dword [0x45fa6c], 0xe1a7b061
lea ecx, [esp + 0xdc]
push dword [0x4587c8]
call fcn.00428a70
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0xdc]
call fcn.00404390
mov eax, dword [0x45c0a4]
add eax, 0x21246a03
lea ecx, [esp + 8]
and eax, 0x5344f7b1
xor dword [0x45deb4], eax
dec dword [0x45c0a4]
push 9
call fcn.00406ba0
imul eax, dword [0x45b648], 0xf04b012f
push 4
push 0x3605
mov dword [0x45b648], eax
call fcn.00401b80
or dword [0x4604b8], 0x66db94f0
lea ecx, [esp + 0x134]
add esp, 8
mov esi, eax
push esi
call fcn.00428a70
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0x12c]
call fcn.00404390
xor dword [0x45cc40], 0xe6626380
push esi
push 4
call fcn.004232b0
add esp, 8
mov dword [0x45f9c8], 0x288a0210
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
lea eax, [esp + 0x20]
mov dword [0x45da30], 0x7559c413
push eax
lea ecx, [esp + 0x90]
call fcn.00428a70
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0x8c]
call fcn.00404390
add dword [0x45cf10], 0x5fea9f4
lea ecx, [esp + 8]
push 9
call fcn.00406ba0
imul eax, dword [0x45f63c], 0x2889c2f8
lea ecx, [esp + 0xa0]
mov dword [0x45f63c], eax
lea eax, [esp + 0x50]
push eax
call fcn.00428a70
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0xa0]
call fcn.00404390
movsx eax, word [0x45ad04]
mov ecx, dword [0x45ca08]
shl eax, 6
xor ecx, eax
movzx eax, word [0x45a954]
add eax, ecx
lea ecx, [esp + 8]
mov word [0x45a954], ax
inc dword [0x45ca08]
push 9
call fcn.00406ba0
mov ecx, dword [0x45bb18]
movsx eax, word [0x45b06e]
not ecx
imul eax, ecx
cmp eax, 0xaa9e0287
jle 0x416371
inc dword [0x45ba6c]
mov ecx, 0x8c6ec322
mov eax, dword [0x45ba6c]
sub ecx, eax
mov dword [0x45bd6c], ecx
mov eax, dword [0x45fc74]
lea ecx, [esp + 0x350]
and eax, 0x2012440
or eax, 0xf80e499e
shl eax, 3
and dword [0x45e538], eax
call fcn.0042a0d0
movsx eax, word [0x45a9cc]
mov ecx, dword [0x460ba0]
add eax, 0x436648e5
imul ecx, eax
lea eax, [esp + 0x240]
push eax
mov dword [0x460ba0], ecx
lea ecx, [esp + 0x354]
inc word [0x45a9cc]
call fcn.00423540
push eax
lea ecx, [esp + 0xcc]
call fcn.00428a70
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0xc8]
call fcn.00404390
mov eax, dword [0x45e7d8]
lea ecx, [esp + 8]
sub eax, dword [0x45c470]
mov dword [0x45e7d8], eax
push 9
call fcn.00406ba0
mov dword [0x45fc44], 0xd5f7c3fd
lea ecx, [esp + 0x350]
call fcn.00417670
mov eax, dword [0x45c0a8]
mov ecx, 0xe9b172e5
push dword [0x4587d4]
sar eax, 9
imul eax, eax, 0xf2d0827
sub ecx, eax
mov word [0x45aefe], cx
lea ecx, [esp + 0xf4]
call fcn.00428a70
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0xc]
call fcn.00408470
lea ecx, [esp + 0xf0]
call fcn.00404390
xor dword [0x45fc9c], 0x5573ba16
lea eax, [esp + 0x3c]
push eax
push 1
lea ecx, [esp + 0x10]
call fcn.00425b10
push eax
lea ecx, [esp + 0x14]
call fcn.00411c70
push eax
call fcn.0041e0b0
add dword [0x45f2b0], 0xbef0a635
lea ecx, [esp + 0x18]
add esp, 0x10
call fcn.00415860
xor dword [0x45b984], 0x7eb74477
lea ecx, [esp + 0x3c]
call fcn.00425b10
push eax
lea ecx, [esp + 0x40]
call fcn.00411c70
push eax
lea ecx, [esp + 0x10]
call fcn.00422f90
movzx eax, word [0x45b402]
or eax, 0xb16ef2e4
mov word [0x45b402], ax
lea eax, [esp + 0x3c]
push eax
call fcn.00428f60
add esp, 4
dec dword [0x4608a4]
mov eax, dword [0x4608a4]
cmp eax, 0xfe7bb7b6
jg 0x416513
xor dword [0x45cd88], 0x83fe16ed
mov ecx, dword [0x457f70]
lea eax, [esp + 8]
push eax
call fcn.004043a0
xor dword [0x45cd98], 0xf8833393
xorps xmm0, xmm0
movsx ecx, word [0x45a526]
movsx eax, word [0x45a7ce]
shl eax, 0xa
shl ecx, 5
sub ecx, eax
movdqa xmmword [esp + 0x20], xmm0
mov eax, dword [0x4604f4]
imul eax, ecx
movdqa xmmword [esp + 0x50], xmm0
mov byte [esp + 0x60], 0
mov dword [0x4604f4], eax
mov eax, dword [0x45ea34]
mov ecx, dword [0x45cd60]
not eax
inc dword [0x45cd60]
xor ecx, eax
xor ecx, 0xce6856e7
cmp ecx, 0x70a78f43
jl 0x416592
mov eax, 0x6000
mov word [0x45a47e], ax
push 0x110
lea eax, [esp + 0x244]
push 0
push eax
call fcn.0042cb90
mov ax, word [0x45ab20]
add esp, 0xc
mov ecx, dword [0x45f314]
cwde
imul ecx, eax
mov word [0x45ab20], cx
lea ecx, [esp + 8]
call fcn.00404390
lea ecx, [esp + 0x3c]
call fcn.00423610
pop esi
mov esp, ebp
pop ebp
ret