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

Disassembly:
push edi
push esi
sub esp, 0x5a0
mov eax, 0x8cd3359
mov ecx, dword [0x4a5a80]
imul ecx, ecx, 0xf8a85840
mov dword [0x4a5a80], ecx
lea ecx, [esp + 0x560]
mov dword [esp + 0x120], eax
call fcn.00424ca0
mov dword [0x4a2774], 0xa0793bcb
mov dx, word [0x4b67bc]
mov cx, dx
add ecx, 0xb426dfa1
mov dx, cx
mov word [0x4b67bc], dx
mov ecx, dword [0x4a3ccc]
mov esi, dword [esp + 0x120]
cmp esi, ecx
mov dword [esp + 0x11c], eax
jge 0x410ea7
mov eax, 0xa7258049
mov ecx, dword [0x4abb20]
and ecx, 0xf50cb35f
cmp eax, ecx
jl 0x410e8f
mov eax, dword [0x49e7cc]
add eax, 0xe347a597
mov dword [0x49e7cc], eax
jmp 0x410ea2
mov eax, dword [0x4aae78]
mov ecx, dword [0x4a4540]
add ecx, eax
mov dword [0x4a4540], ecx
jmp 0x410ea7
mov eax, 0xee7a1ebe
mov dword [0x4aca1c], 0x67b30b4f
mov dword [esp + 0x124], 0
mov ecx, dword [0x49c724]
mov edx, ecx
dec edx
mov dword [0x49c724], edx
and ecx, 0xe23e3e82
and ecx, 0x910c65e5
cmp eax, ecx
jl 0x410ef3
mov eax, dword [0x4a98e0]
add eax, 0x53cf2005
mov dword [0x4a98e0], eax
mov dword [0x4b8330], 0x94
mov ax, word [0x4b74d8]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x4b74d8], ax
mov ax, word [0x4b43d8]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4b43d8], ax
mov ecx, dword [0x49a080]
mov edx, esp
mov dword [edx], 0x4b8330
call ecx
sub esp, 4
mov ecx, dword [0x4a0b20]
and ecx, 0x71bcc531
cmp ecx, 0xddff2dbe
mov dword [esp + 0x118], eax
je 0x410f80
mov ax, word [0x4b2326]
mov cx, ax
or ecx, 0x9150
mov ax, word [0x4af258]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4af258], ax
jmp 0x410fb8
mov eax, dword [0x4a1bf0]
dec eax
mov dword [0x4a1bf0], eax
cmp eax, 0x73be92b7
jle 0x410fb3
mov eax, dword [0x4a27a0]
and eax, 0xb8412800
or eax, 0x734d5d7
mov ecx, dword [0x4a0e84]
xor ecx, eax
mov dword [0x4a0e84], ecx
jmp 0x410fb8
call fcn.0043e9b0
mov dword [0x4b8be4], eax
mov eax, dword [0x49c4c4]
and eax, 0x135ec0fd
mov dword [0x49c4c4], eax
call fcn.0043e5f0
mov dword [0x4b8be8], eax
mov eax, dword [0x4a58e4]
or eax, 0x8bba3dcb
mov dword [0x4a58e4], eax
mov eax, dword [0x4b8be4]
cmp eax, 0
je 0x41127c
mov word [0x4b158c], 0x3dff
mov eax, esp
lea ecx, [esp + 0x137]
mov dword [eax], ecx
call fcn.0041fe40
mov dword [esp + 0x130], eax
mov dx, word [0x4b8120]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4b8120], dx
movsx eax, dx
imul eax, eax, 0x802ceb7d
mov ecx, 0xea576438
sub ecx, eax
mov eax, dword [0x4a9014]
sub eax, ecx
mov dword [0x4a9014], eax
mov eax, dword [esp + 0x130]
mov byte [esp + eax + 0x137], 0x5c
mov dx, word [0x4b2908]
mov ax, dx
imul eax, eax, 0x94c48823
mov dx, ax
mov word [0x4b2908], dx
mov eax, dword [esp + 0x130]
inc eax
mov dword [esp + 0x130], eax
mov eax, dword [0x4a7ea8]
add eax, 0x739e74bb
mov dword [0x4a7ea8], eax
mov eax, dword [esp + 0x130]
mov byte [esp + eax + 0x137], 0
mov eax, dword [0x4a4594]
mov ecx, dword [0x49ba98]
mov esi, ecx
dec esi
mov dword [0x49ba98], esi
xor eax, ecx
mov ecx, dword [0x4a92dc]
not ecx
mov dx, word [0x4b0efe]
mov si, dx
dec esi
mov di, si
mov word [0x4b0efe], di
movsx esi, dx
sub ecx, esi
xor ecx, 0xe2e97bb8
cmp eax, ecx
jne 0x4110fe
mov eax, dword [0x49b108]
and eax, 0xb88a301
mov ecx, dword [0x4a8f34]
imul ecx, eax
mov dword [0x4a8f34], ecx
mov eax, 0xf7dddfd8
mov ecx, dword [0x4b8c28]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x137]
mov dword [edx], ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], ecx
call fcn.00455780
mov ecx, dword [0x49d88c]
mov edx, ecx
inc edx
mov dword [0x49d88c], edx
imul ecx, ecx, 0x822af07e
mov edx, 0x9e296624
sub edx, ecx
mov ecx, dword [0x4abb98]
and ecx, edx
mov dword [0x4abb98], ecx
mov ecx, dword [0x49a0c8]
mov edx, esp
mov esi, dword [esp + 0x110]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x10c], eax
call ecx
sub esp, 8
mov di, word [0x4aef7a]
mov cx, di
dec ecx
mov di, cx
mov word [0x4aef7a], di
mov di, word [0x4b6f86]
mov dx, di
dec edx
mov di, dx
mov word [0x4b6f86], di
mov esi, dword [0x4a8fb8]
imul edx, esi
sub ecx, edx
mov di, word [0x4b73b4]
mov dx, di
or edx, ecx
mov di, dx
mov word [0x4b73b4], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xa920
mov dword [esp + 0x108], eax
call fcn.004489c0
mov dword [esp + 0x59c], eax
mov eax, dword [0x4a9604]
xor eax, 0x42400
or eax, 0xefa91279
mov ecx, dword [0x49c7f0]
imul ecx, eax
mov dword [0x49c7f0], ecx
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x110]
mov dword [ecx], eax
call fcn.00455780
mov ecx, dword [0x49e6b0]
or ecx, 0x605a7213
mov dword [0x49e6b0], ecx
mov ecx, dword [esp + 0x59c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x104], eax
call fcn.004073a0
mov eax, dword [0x49d450]
mov di, word [0x4aeab8]
movsx ecx, di
and eax, ecx
mov ecx, dword [esp + 0x114]
cmp ecx, eax
jle 0x411277
mov dword [0x4a3fbc], 0x287391aa
jmp 0x4112d9
mov eax, dword [0x49a73c]
sar eax, 2
and eax, 0x88d9a1d0
cmp eax, 0xc342c50c
jne 0x4112a3
mov eax, dword [0x4a53f0]
xor eax, 0x4efdff47
mov dword [0x4a53f0], eax
mov byte [esp + 0x137], 0
mov eax, dword [0x4a00fc]
mov ecx, eax
dec ecx
mov dword [0x4a00fc], ecx
add eax, 0x48fa401a
or eax, 0x6677
mov dx, word [0x4b6ea2]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4b6ea2], dx
lea eax, [esp + 0x560]
lea ecx, [esp + 0x137]
mov dword [0x4a368c], 0xe2351ec0
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x7ab0
mov dword [esp + 0x100], eax
mov dword [esp + 0xfc], ecx
call fcn.004489c0
mov dword [esp + 0x598], eax
mov word [0x4aed64], 0x68d0
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x560]
call fcn.0041e820
sub esp, 4
mov ecx, dword [0x49ec88]
xor ecx, 0x5355f447
mov dword [0x49ec88], ecx
mov ecx, dword [esp + 0x598]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xf8], eax
call fcn.004073a0
mov eax, dword [0x4aad9c]
xor eax, 0x4df4ff96
mov dword [0x4aad9c], eax
mov eax, dword [esp + 0x100]
mov ecx, eax
call fcn.0040ea90
lea ecx, [esp + 0x560]
mov dword [esp + 0xf4], eax
call fcn.00442da0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xf0], ecx
call fcn.00429030
cmp eax, 0
je 0x4114dd
mov eax, 0x2e06287e
mov ecx, dword [0x4a8ba8]
add ecx, 0x5f1e6357
mov edx, dword [0x4a9620]
shr edx, 0xa
xor ecx, edx
mov si, word [0x4aeeb0]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x4aeeb0], si
mov dword [esp + 0x124], 1
mov ecx, dword [0x4a041c]
mov edx, dword [0x49cacc]
inc edx
mov dword [0x49cacc], edx
and ecx, edx
and ecx, 0x2290c924
mov edx, dword [0x4a4c1c]
xor edx, ecx
mov dword [0x4a4c1c], edx
mov ecx, dword [0x49a054]
mov edx, esp
lea edi, [esp + 0x137]
mov dword [edx], edi
mov dword [esp + 0xec], eax
call ecx
sub esp, 4
mov ecx, dword [0x4a9984]
sub ecx, 0x6d6cca71
mov edx, dword [esp + 0xec]
cmp edx, ecx
mov dword [esp + 0xe8], eax
jg 0x41148c
mov eax, dword [0x4a9df4]
and eax, 0x20488303
mov dword [0x4a9df4], eax
mov eax, dword [esp + 0x130]
mov byte [esp + eax + 0x137], 0
mov eax, dword [0x4ab014]
mov ecx, dword [0x4ab8a0]
imul ecx, eax
mov dword [0x4ab8a0], ecx
mov eax, dword [0x49a0cc]
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4ae118]
add ecx, 0x8887ff3d
mov dword [0x4ae118], ecx
mov dword [esp + 0xe4], eax
mov ax, word [0x4b43d6]
mov cx, ax
add ecx, 0x628c432b
mov ax, cx
mov word [0x4b43d6], ax
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx], edx
call fcn.0041fe40
mov ecx, dword [0x4aa8d8]
imul ecx, ecx, 0x6cad2100
mov edx, dword [0x4a2930]
add ecx, edx
cmp ecx, 0x32974c0
mov dword [esp + 0xe0], eax
je 0x41153c
mov eax, dword [0x4a5310]
imul eax, eax, 0x3dc086bc
mov dword [0x4a5310], eax
mov eax, 0x8737f374
mov byte [esp + 0x13a], 0
mov ecx, dword [0x4a3578]
cmp eax, ecx
jge 0x411566
mov eax, dword [0x49ebc8]
and eax, 0x4c35535f
mov dword [0x49ebc8], eax
mov eax, 0xf3bdffa7
mov ecx, dword [0x4b8c28]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x137]
mov dword [edx], ecx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], ecx
call fcn.00455780
mov ecx, dword [0x49cc38]
xor ecx, 0x716d4f87
mov dword [0x49cc38], ecx
mov ecx, dword [0x49a0c8]
mov edx, esp
mov esi, dword [esp + 0xd8]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xd4], eax
call ecx
sub esp, 8
mov di, word [0x4b4a62]
mov cx, di
dec ecx
mov di, cx
mov word [0x4b4a62], di
movsx ecx, di
mov edx, dword [esp + 0xdc]
cmp edx, ecx
mov dword [esp + 0xd0], eax
jl 0x411618
mov eax, dword [0x49f82c]
mov ecx, eax
dec ecx
mov dword [0x49f82c], ecx
imul eax, eax, 0x98f05119
mov ecx, dword [0x4a5c20]
and ecx, eax
mov dword [0x4a5c20], ecx
mov eax, esp
lea ecx, [esp + 0x137]
mov dword [eax + 4], ecx
mov dword [eax], 0x4b8514
call fcn.00455770
mov ecx, dword [0x49bcb4]
add ecx, 0x3024bb16
mov dword [0x49bcb4], ecx
cmp dword [esp + 0x124], 0
mov dword [esp + 0xcc], eax
jne 0x411687
mov eax, dword [0x49a888]
mov ecx, eax
dec ecx
mov dword [0x49a888], ecx
mov ecx, dword [0x4a7bfc]
imul ecx, eax
mov dword [0x4a7bfc], ecx
mov dword [0x4b8be0], 0
mov dword [0x4a4a14], 0xeff5fbfb
mov eax, 0x90cc0201
mov ecx, dword [0x49a440]
add ecx, 0x31352bb1
mov dword [0x49a440], ecx
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx], edx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], edx
call fcn.0041d0a0
mov dword [esp + 0x130], eax
mov eax, dword [0x4a025c]
or eax, 0xe52271c9
mov ecx, dword [0x4ad144]
xor ecx, eax
mov dword [0x4ad144], ecx
mov eax, dword [0x49a0c8]
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4af62e]
mov cx, si
xor ecx, 0x2b5f
mov si, cx
mov word [0x4af62e], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xa920
mov dword [esp + 0xc0], eax
call fcn.004489c0
mov dword [esp + 0x594], eax
mov eax, dword [0x49c58c]
mov ecx, dword [esp + 0xc8]
cmp ecx, eax
je 0x411763
mov eax, dword [0x4aa580]
mov ecx, eax
dec ecx
mov dword [0x4aa580], ecx
mov ecx, dword [0x4a87e4]
add ecx, eax
mov dword [0x4a87e4], ecx
mov eax, 0x74a2df65
mov ecx, dword [esp + 0x594]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x137]
mov dword [edx], ecx
mov dword [esp + 0xbc], eax
call fcn.00455780
mov ecx, dword [0x49c714]
or ecx, 0xd00306d1
mov dword [0x49c714], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x7ab0
mov dword [esp + 0xb8], eax
call fcn.004489c0
mov dword [esp + 0x590], eax
mov eax, dword [0x49cac0]
and eax, 0xb856e8dc
mov dword [0x49cac0], eax
mov eax, dword [esp + 0x594]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004073a0
mov eax, dword [0x4a7fec]
imul eax, eax, 0x97bdebf5
mov dword [0x4a7fec], eax
mov eax, dword [esp + 0x590]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x560]
call fcn.0041e820
sub esp, 4
mov ecx, dword [0x4a5528]
dec ecx
mov dword [0x4a5528], ecx
imul ecx, ecx, 0xb0480d98
mov edx, dword [esp + 0xbc]
cmp edx, ecx
mov dword [esp + 0xb4], eax
jle 0x411852
mov eax, dword [0x4ab3d4]
add eax, eax
mov ecx, dword [0x4a0154]
shl ecx, 6
xor eax, ecx
or eax, 0xa8b7b7c1
mov dword [0x4ac304], eax
mov eax, dword [esp + 0x590]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004073a0
mov dx, word [0x4b3fce]
movsx eax, dx
xor eax, 0xffffffff
and eax, 0x5c0611a6
cmp eax, 0xd1855b8d
jl 0x4118a1
mov ax, word [0x4b1c0c]
movsx ecx, ax
mov edx, dword [0x4a0c38]
imul ecx, edx
shl ecx, 5
mov dword [0x4a0c38], ecx
lea eax, [esp + 0x560]
lea ecx, [esp + 0x137]
mov dword [esp + 0xb0], ecx
mov ecx, eax
call fcn.0040ea90
lea ecx, [esp + 0x560]
mov dword [esp + 0xac], eax
call fcn.00442da0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xa8], ecx
call fcn.00429030
cmp eax, 0
jne 0x4124d0
mov eax, dword [0x4a24fc]
mov ecx, dword [0x49e9ec]
lea eax, [eax + ecx - 0x8681cc6]
mov dword [0x49e9ec], eax
cmp dword [0x4b8334], 6
jb 0x4119fb
mov eax, 0xa108ba04
mov ecx, dword [0x4ab954]
cmp eax, ecx
je 0x41194c
mov dword [0x4a65e4], 0xef773aff
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x62c5
call fcn.004489c0
mov dword [esp + 0x58c], eax
mov eax, dword [0x4a678c]
xor eax, 0xa81a803a
mov dword [0x4a678c], eax
mov eax, dword [esp + 0x58c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x137]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b83c4
call fcn.004559ef
mov dx, word [0x4ae302]
mov cx, dx
xor ecx, 0xcd08
mov dx, cx
mov word [0x4ae302], dx
mov ecx, dword [esp + 0x58c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x12
mov dword [esp + 0xa4], eax
call fcn.004073a0
mov eax, dword [0x4a3248]
inc eax
mov dword [0x4a3248], eax
mov ecx, dword [0x4a049c]
imul eax, ecx
xor eax, 0x6076dbcf
mov ecx, dword [0x4a5744]
or ecx, eax
mov dword [0x4a5744], ecx
jmp 0x411aff
mov eax, 0x63f17167
mov ecx, dword [0x49cb30]
add ecx, 0xb11fe2e5
mov dword [0x49cb30], ecx
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0x42a3
mov dword [esp + 0xa0], eax
call fcn.004489c0
mov dword [esp + 0x588], eax
mov eax, dword [0x4ade3c]
xor eax, 0xf602a2a1
mov dword [0x4ade3c], eax
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x137]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b83c4
call fcn.004559ef
mov ecx, dword [0x4ab698]
sub ecx, 0x8d6725e5
mov edx, dword [esp + 0xa0]
cmp edx, ecx
mov dword [esp + 0x9c], eax
je 0x411ad9
mov ax, word [0x4b1974]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4b1974], ax
movsx ecx, ax
or ecx, 0x9e3bf62e
mov edx, dword [0x4a404c]
or edx, 0xc684b08a
cmp ecx, edx
jle 0x411aca
mov eax, dword [0x4a2a1c]
and eax, 0x9ed9cbf
mov dword [0x4a2a1c], eax
jmp 0x411ad4
mov dword [0x4a0b44], 0xa105280c
jmp 0x411ad9
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x24
call fcn.004073a0
mov eax, dword [0x4a10e4]
or eax, 0xe5c719eb
mov dword [0x4a10e4], eax
mov eax, 0xffde15ff
mov ecx, dword [0x4a0264]
shl ecx, 5
or ecx, 0xf840ee6
cmp eax, ecx
jle 0x411b33
mov eax, dword [0x4a6bfc]
or eax, 0xe8568d4b
mov ecx, dword [0x4ab694]
add ecx, eax
mov dword [0x4ab694], ecx
mov eax, 0x7acff047
mov byte [esp + 0x55f], 0
mov ecx, dword [0x4a424c]
add ecx, 0xe26963d0
mov dword [0x4a424c], ecx
mov ecx, dword [0x4b8c28]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x137]
mov dword [edx], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
call fcn.00455780
mov si, word [0x4afb36]
mov cx, si
imul ecx, ecx, 0xd5608761
mov si, cx
mov word [0x4afb36], si
mov ecx, dword [0x49a0c8]
mov edx, esp
mov edi, dword [esp + 0x94]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0x90], eax
call ecx
sub esp, 8
mov dword [0x4a8788], 0xdebfeb78
mov ecx, esp
mov edx, dword [esp + 0x94]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b8514
mov dword [esp + 0x8c], eax
call fcn.00455770
mov si, word [0x4b1de8]
movsx ecx, si
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x88], eax
je 0x411c0e
mov eax, dword [0x49eb78]
add eax, 0x7f5f7e7c
mov dword [0x49eb78], eax
mov eax, 0x90e2d54c
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
call fcn.0041d0a0
mov dword [esp + 0x130], eax
mov si, word [0x4b3de4]
movsx eax, si
xor eax, 0xffffffff
mov ecx, dword [esp + 0x84]
cmp ecx, eax
je 0x411c7e
mov eax, dword [0x49ef1c]
add eax, 0x53c58dd6
mov ecx, dword [0x4a4260]
xor eax, ecx
cmp eax, 0x1e0e64c6
jge 0x411c79
mov eax, dword [0x4a3e84]
add eax, 0xbea7dfec
mov dword [0x4a3e84], eax
jmp 0x411c88
mov dword [0x4a95c8], 0x14040d0
mov eax, 0x115b7378
mov ecx, dword [0x49a0c8]
mov edx, esp
lea esi, [esp + 0x137]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], esi
call ecx
sub esp, 8
mov ecx, dword [0x4a3990]
add ecx, 0x800c5121
mov dword [0x4a3990], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xa920
mov dword [esp + 0x78], eax
call fcn.004489c0
mov dword [esp + 0x584], eax
mov di, word [0x4b740a]
mov ax, di
add eax, 0xa2918ff5
mov di, ax
mov word [0x4b740a], di
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx], eax
call fcn.00455780
mov di, word [0x4b7160]
mov cx, di
add ecx, 0x8cc3f451
mov di, cx
mov word [0x4b7160], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x7ab0
mov dword [esp + 0x74], eax
call fcn.004489c0
mov dword [esp + 0x580], eax
mov word [0x4b6920], 0x40
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004073a0
mov eax, dword [0x4a0c78]
sub eax, 0xbd67c50a
mov ecx, dword [esp + 0x80]
cmp ecx, eax
jle 0x411da7
mov ax, word [0x4b1cc0]
movsx ecx, ax
not ecx
add ecx, 0xb8a23e53
mov edx, dword [0x4a7910]
xor edx, ecx
mov dword [0x4a7910], edx
lea eax, [esp + 0x560]
lea ecx, [esp + 0x137]
mov edx, dword [esp + 0x580]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x560]
mov dword [esp + 0x70], ecx
mov ecx, edx
mov dword [esp + 0x6c], eax
call fcn.0041e820
sub esp, 4
mov ecx, dword [0x4a6aac]
or ecx, 0x65117b92
mov dword [0x4a6aac], ecx
mov ecx, dword [esp + 0x580]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x68], eax
call fcn.004073a0
mov word [0x4b310a], 0x18
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.0040ea90
lea ecx, [esp + 0x560]
mov dword [esp + 0x64], eax
call fcn.00442da0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x60], ecx
call fcn.00429030
cmp eax, 0
jne 0x4124c0
mov eax, dword [0x49edf0]
imul eax, eax, 0x1752ccd6
mov cx, word [0x4b236e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b236e], cx
mov eax, dword [0x49a070]
mov edx, esp
lea esi, [esp + 0x137]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], esi
call eax
sub esp, 8
mov edx, dword [0x4a1980]
sar edx, 7
add edx, 0x1929ad0f
mov esi, dword [0x4a1e4c]
or esi, edx
mov dword [0x4a1e4c], esi
mov edx, esp
mov esi, dword [esp + 0x5c]
mov dword [edx], esi
mov dword [esp + 0x58], eax
call fcn.004526b0
mov dword [esp + 0x130], eax
mov cx, word [0x4b1388]
mov ax, cx
add eax, 0x894dc0f1
mov cx, word [0x4b264a]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b264a], cx
mov eax, dword [esp + 0x130]
add eax, 0xfffffffe
mov dword [esp + 0x130], eax
mov cx, word [0x4b3ba6]
movsx eax, cx
and eax, 0xc1ac9f6b
mov edx, dword [0x4ad460]
xor edx, eax
mov dword [0x4ad460], edx
mov eax, dword [esp + 0x130]
mov dword [esp + 0x12c], eax
cmp dword [esp + 0x12c], 0
jle 0x4120d7
mov eax, dword [0x4a91bc]
add eax, 0x4192052
mov dword [0x4a91bc], eax
mov eax, dword [esp + 0x12c]
movsx eax, byte [esp + eax + 0x137]
cmp eax, 0x5c
jne 0x41204c
mov eax, 0x3108dc64
mov ecx, dword [0x49bd68]
imul ecx, ecx, 0x20e310c4
or ecx, 0xb7ea5ba1
mov edx, dword [0x4a8150]
sub edx, ecx
mov dword [0x4a8150], edx
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x12c], ecx
mov ecx, dword [0x4a34bc]
and ecx, 0x77346949
mov dword [0x4a34bc], ecx
mov ecx, dword [esp + 0x12c]
mov byte [esp + ecx + 0x137], 0
mov si, word [0x4b81da]
mov cx, si
xor ecx, 0x8a3
mov si, cx
mov word [0x4b81da], si
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x130], ecx
mov si, word [0x4b0f7e]
movsx ecx, si
imul ecx, ecx, 0x3f45321
and ecx, 0xf1506373
cmp eax, ecx
jl 0x412047
mov eax, dword [0x49b884]
mov ecx, eax
inc ecx
mov dword [0x49b884], ecx
mov ecx, 0x194454ac
sub ecx, eax
xor ecx, 0xae2b84e9
mov eax, dword [0x4aa590]
shl eax, 1
or eax, 0x35429497
cmp ecx, eax
jl 0x412042
mov eax, dword [0x4aad20]
and eax, 0xa4471785
mov dword [0x4aad20], eax
jmp 0x412047
jmp 0x4120d7
mov eax, 0x3c6b740b
mov ecx, dword [0x4a11e0]
mov edx, dword [0x4a4a7c]
xor edx, 0xffffffff
sub eax, edx
sub eax, 0xc5b84973
cmp ecx, eax
jg 0x4120bc
mov eax, 0x56abdfe2
mov cx, word [0x4ae87e]
movsx edx, cx
shl edx, 7
cmp eax, edx
jle 0x4120b7
mov eax, dword [0x49ae08]
and eax, 0xd49dd
mov ecx, dword [0x4a1ad8]
add ecx, 0xc2ff9559
and ecx, 0x6ea215ac
cmp eax, ecx
jne 0x4120b2
jmp 0x4120b2
jmp 0x4120b7
jmp 0x4120bc
jmp 0x4120c1
mov eax, dword [esp + 0x12c]
add eax, 0xffffffff
mov dword [esp + 0x12c], eax
jmp 0x411f33
mov eax, 0xfefbffbf
mov ecx, dword [0x4a6b24]
add ecx, 0xddfefd1f
mov dword [0x4a6b24], ecx
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b8514
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.00455770
mov ecx, dword [0x4ac2d4]
xor ecx, 0x6313
mov si, cx
mov word [0x4b13d2], si
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
call fcn.0041d0a0
mov dword [esp + 0x130], eax
mov eax, dword [0x4ab49c]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jl 0x41217e
mov ax, word [0x4b107e]
movsx ecx, ax
cmp ecx, 0x304b332a
je 0x412179
mov ax, word [0x4b366c]
mov cx, ax
or ecx, 0x5bb9
mov ax, cx
mov word [0x4b366c], ax
jmp 0x41217e
mov eax, dword [0x49a0c8]
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4aa45c]
shl ecx, 5
imul ecx, ecx, 0x8e991fa1
add ecx, 0x502e250b
cmp ecx, 0x6aa43f36
mov dword [esp + 0x48], eax
jle 0x4121db
mov eax, dword [0x4a2aec]
mov ecx, eax
inc ecx
mov dword [0x4a2aec], ecx
mov ecx, dword [0x4a4bf4]
add ecx, eax
mov dword [0x4a4bf4], ecx
lea eax, [esp + 0x560]
lea ecx, [esp + 0x137]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0xa920
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
call fcn.004489c0
mov dword [esp + 0x57c], eax
mov si, word [0x4b498a]
mov ax, si
inc eax
mov si, ax
mov word [0x4b498a], si
movsx eax, si
mov ecx, dword [0x4ab5c4]
sub ecx, eax
mov dword [0x4ab5c4], ecx
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x137]
mov dword [ecx], eax
call fcn.00455780
mov ecx, dword [0x4ac23c]
mov si, word [0x4af6b2]
mov dx, si
dec edx
mov si, dx
mov word [0x4af6b2], si
movsx edx, si
mov si, word [0x4b6ff2]
movsx edi, si
sub edx, edi
and ecx, edx
mov dword [0x4a2518], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x7ab0
mov dword [esp + 0x3c], eax
call fcn.004489c0
mov dword [esp + 0x578], eax
mov eax, dword [0x4a25dc]
and eax, 0xaa874c64
mov dword [0x4a25dc], eax
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004073a0
mov eax, dword [0x49b2c8]
not eax
mov ecx, dword [0x4ae248]
lea eax, [eax + ecx + 0x6f3f59d0]
mov dword [0x4ae248], eax
mov eax, dword [esp + 0x578]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x560]
call fcn.0041e820
sub esp, 4
mov ecx, dword [0x4a2be4]
or ecx, 0x1eb9eb72
mov dword [0x4a2be4], ecx
mov ecx, dword [esp + 0x578]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x38], eax
call fcn.004073a0
mov eax, dword [0x4a9d58]
sar eax, 0xa
mov ecx, 0xaa9786b3
sub ecx, eax
mov eax, dword [0x4a0590]
imul eax, ecx
mov dword [0x4a0590], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
call fcn.0040ea90
lea ecx, [esp + 0x560]
mov dword [esp + 0x34], eax
call fcn.00442da0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x30], ecx
call fcn.00429030
cmp eax, 0
jne 0x412492
mov eax, dword [0x4a9060]
imul eax, eax, 0x671bbd98
mov dword [0x4a9060], eax
mov eax, dword [0x49a070]
mov ecx, esp
lea edx, [esp + 0x137]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x2c], edx
call eax
sub esp, 8
mov si, word [0x4af882]
mov cx, si
or ecx, 0x184d
mov si, cx
mov word [0x4af882], si
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b8514
mov dword [esp + 0x28], eax
call fcn.00455770
mov ecx, dword [0x4aa2cc]
and ecx, 8
shl ecx, 0xa
mov si, word [0x4b73a2]
mov dx, si
or edx, ecx
mov si, dx
mov word [0x4b73a2], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xa920
mov dword [esp + 0x24], eax
call fcn.004489c0
mov dword [esp + 0x574], eax
mov eax, dword [0x4a22d8]
or eax, 0xe50ee139
mov dword [0x4a22d8], eax
mov eax, dword [esp + 0x574]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
call fcn.00455780
mov ecx, dword [0x4acb84]
or ecx, 0x56628d91
mov dword [0x4acb84], ecx
mov ecx, dword [esp + 0x574]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x20], eax
call fcn.004073a0
mov eax, dword [0x4a2fc0]
imul eax, eax, 0x9570eff8
mov dword [0x4a2fc0], eax
mov eax, dword [0x4a1044]
and eax, 0xc4d70de8
xor eax, 0xe5d96471
cmp eax, 0x24e174d8
jl 0x4124bb
mov eax, dword [0x49f860]
xor eax, 0x8590298
mov dword [0x49f860], eax
jmp 0x4124c0
mov eax, dword [0x4a1718]
imul eax, eax, 0x5a23108c
mov dword [0x4a1718], eax
mov eax, 0x7027d4d6
mov cx, word [0x4b4748]
mov dx, cx
mov cx, word [0x4b6568]
mov si, cx
xor esi, edx
mov cx, si
mov word [0x4b6568], cx
mov edx, esp
lea esi, [esp + 0x137]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
call fcn.0041d0a0
mov cx, word [0x4b747a]
mov dx, cx
add edx, 0x4e3664d7
mov cx, dx
mov word [0x4b747a], cx
mov edx, dword [0x49a07c]
mov esi, esp
mov edi, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 2
mov dword [esp + 0x14], eax
call edx
sub esp, 8
mov edx, dword [0x4a920c]
mov esi, dword [0x4ab1cc]
imul esi, esi, 0xa37b8001
or edx, esi
mov esi, dword [esp + 0x1c]
cmp esi, edx
mov dword [esp + 0x10], eax
jl 0x412593
mov eax, 0x69ed75ad
mov ecx, dword [0x4a65e8]
xor ecx, 0xffffffff
cmp eax, ecx
jg 0x41258e
mov eax, dword [0x4a2958]
add eax, 0xbad6372a
mov dword [0x4a2958], eax
jmp 0x412593
mov eax, esp
lea ecx, [esp + 0x137]
mov dword [eax], ecx
mov dword [eax + 4], 0x429
call fcn.0041de80
mov dx, word [0x4aee62]
movsx eax, dx
or eax, 0x3da39f6d
mov ecx, dword [0x49fefc]
xor ecx, eax
mov dword [0x49fefc], ecx
lea ecx, [esp + 0x560]
call fcn.0043daf0
add esp, 0x5a0
pop esi
pop edi
ret