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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x5cc
mov eax, dword [0x4b17c4]
not eax
add eax, 0xb5c53f54
mov ecx, dword [0x4b0534]
mov edx, ecx
inc edx
mov dword [0x4b0534], edx
and ecx, 0x4016036d
or ecx, 0x5248429f
cmp eax, ecx
jl 0x44ef87
mov eax, dword [0x4b1d4c]
xor eax, 0x755c19e7
mov dword [0x4b1d4c], eax
lea ecx, [esp + 0x58c]
call fcn.0041fc70
mov dword [0x4a829c], 0xb5fff7d5
mov ecx, dword [0x4a8dc4]
inc ecx
mov dword [0x4a8dc4], ecx
add ecx, 0xcd411e43
xor ecx, 0xe3ed06f6
cmp ecx, 0xb7615b7
mov dword [esp + 0x104], eax
jg 0x44efe6
mov eax, dword [0x4ac960]
mov ecx, eax
inc ecx
mov dword [0x4ac960], ecx
or eax, 0x37ed757f
mov dword [0x4af1b0], eax
jmp 0x44efff
mov eax, dword [0x4ac5d8]
imul eax, eax, 0xba8c8cc0
mov ecx, dword [0x4a686c]
or ecx, eax
mov dword [0x4a686c], ecx
mov eax, 0xe15a9903
mov ecx, dword [0x4a9d94]
inc ecx
mov dword [0x4a9d94], ecx
imul ecx, ecx, 0x7d47931a
cmp eax, ecx
jne 0x44f044
mov ax, word [0x49e1fc]
movsx ecx, ax
shl ecx, 4
mov edx, dword [0x4aeee0]
sar edx, 0xa
xor ecx, edx
mov edx, dword [0x4acf00]
or edx, ecx
mov dword [0x4acf00], edx
mov eax, 0x1014937b
mov ecx, dword [0x4b0108]
and ecx, 0x903904ae
mov dword [0x4b0108], ecx
mov dword [esp + 0x108], 0
mov dx, word [0x49f6b4]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49f6b4], si
movsx ecx, dx
mov edi, dword [0x4b1ee8]
xor edi, 0xffffffff
add ecx, edi
cmp eax, ecx
jge 0x44f0ce
mov eax, dword [0x4ad044]
shl eax, 4
sub eax, 0x9d5e291b
cmp eax, 0xa8a368af
je 0x44f0c9
mov eax, dword [0x4a4d9c]
add eax, 0x4cceb8a2
mov cx, word [0x4a0b40]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4a0b40], cx
jmp 0x44f0ce
mov dword [0x4b2a34], 0x94
mov eax, dword [0x4b21e4]
dec eax
mov dword [0x4b21e4], eax
mov ecx, dword [0x4a5548]
shl ecx, 4
imul eax, ecx
cmp eax, 0x90c00401
jle 0x44f10f
mov eax, dword [0x4a9004]
imul eax, eax, 0x2e66ef35
mov dword [0x4a9004], eax
jmp 0x44f119
mov dword [0x4a52ac], 0x3d75107
mov eax, dword [0x49d880]
mov ecx, esp
mov dword [ecx], 0x4b2a34
call eax
sub esp, 4
mov ecx, dword [0x4aba60]
inc ecx
mov dword [0x4aba60], ecx
imul ecx, ecx, 0xae1a0fef
imul ecx, ecx, 0xed55536a
cmp ecx, 0x26d5c26a
mov dword [esp + 0x100], eax
jg 0x44f176
mov eax, dword [0x4a9b94]
inc eax
mov dword [0x4a9b94], eax
imul eax, eax, 0x89690a7a
mov ecx, dword [0x4af048]
add ecx, eax
mov dword [0x4af048], ecx
call fcn.0043e6b0
mov dword [0x4b3410], eax
mov eax, dword [0x4a6e78]
or eax, 0x9d7d2439
mov dword [0x4a6e78], eax
call fcn.0041a0a0
mov dword [0x4b3414], eax
mov eax, dword [0x4af83c]
or eax, 0x26f488a6
mov dword [0x4af83c], eax
mov eax, dword [0x4b3410]
cmp eax, 0
je 0x44f3a2
mov eax, 0xf6eefe7b
mov cx, word [0x4a4300]
mov dx, cx
add edx, 0xdfffea3a
mov cx, dx
mov word [0x4a4300], cx
mov edx, esp
lea esi, [esp + 0x11a]
mov dword [edx], esi
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], esi
call fcn.00421500
mov dword [esp + 0x114], eax
mov cx, word [0x49da7a]
mov ax, cx
xor eax, 0x606
mov cx, ax
mov word [0x49da7a], cx
mov eax, dword [esp + 0x114]
mov byte [esp + eax + 0x11a], 0x5c
mov cx, word [0x4a120e]
mov ax, cx
xor eax, 0xbd8c
mov cx, ax
mov word [0x4a120e], cx
mov eax, dword [esp + 0x114]
inc eax
mov dword [esp + 0x114], eax
mov eax, dword [0x4afca0]
and eax, 0x84e4638c
mov cx, word [0x49e260]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49e260], cx
movsx edx, cx
or eax, edx
mov dword [0x4a8f84], eax
mov eax, dword [esp + 0x114]
mov byte [esp + eax + 0x11a], 0
mov eax, dword [0x4ad780]
imul eax, eax, 0x40766dda
mov dword [0x4ad780], eax
mov eax, dword [0x4b3450]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [edx], eax
call fcn.004554e0
mov dword [0x4abae8], 0x12202610
mov edx, dword [0x49d8c8]
mov esi, esp
mov edi, dword [esp + 0xf8]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xf4], eax
call edx
sub esp, 8
mov dword [0x4abec4], 0xddad220c
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x42fd
mov dword [esp + 0xf0], eax
call fcn.00444b60
mov dword [esp + 0x5c8], eax
mov eax, dword [0x4b0b88]
dec eax
mov dword [0x4b0b88], eax
add eax, 0xc233c078
mov edx, dword [esp + 0xfc]
cmp edx, eax
jle 0x44f332
mov eax, dword [0x4b1920]
add eax, 0x86146d3e
mov dword [0x4b1920], eax
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11a]
mov dword [ecx], eax
call fcn.004554e0
mov dx, word [0x4a36f0]
mov cx, dx
or ecx, 0xd2e5
mov dx, word [0x4a26b4]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x4a26b4], dx
mov ecx, dword [esp + 0x5c8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xec], eax
call fcn.0044d6d0
mov eax, dword [0x4a714c]
sar eax, 5
mov dword [0x4ab0ac], eax
jmp 0x44f3e1
mov eax, dword [0x4acf90]
dec eax
mov dword [0x4acf90], eax
mov ecx, dword [0x4ad70c]
xor ecx, eax
mov dword [0x4ad70c], ecx
mov byte [esp + 0x11a], 0
mov eax, dword [0x4a79a4]
mov ecx, 0xcde1d362
sub ecx, eax
or ecx, 0xed42958c
mov eax, dword [0x4ad900]
and eax, ecx
mov dword [0x4ad900], eax
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x11a]
mov edx, dword [0x4b073c]
mov esi, edx
inc esi
mov dword [0x4b073c], esi
mov esi, dword [0x4ac580]
shl esi, 2
and edx, esi
mov esi, dword [0x4b0260]
or esi, edx
mov dword [0x4b0260], esi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x1399
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], ecx
call fcn.00444b60
mov dword [esp + 0x5c4], eax
mov eax, dword [0x4a68ec]
mov ecx, eax
inc ecx
mov dword [0x4a68ec], ecx
add eax, 0x14a02eb7
mov ecx, dword [0x4abfb8]
and eax, ecx
mov ecx, dword [0x4b1524]
or ecx, eax
mov dword [0x4b1524], ecx
mov eax, dword [esp + 0x5c4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00428010
sub esp, 4
mov ecx, dword [0x4a5c74]
mov di, word [0x4a031e]
mov dx, di
and edx, ecx
mov di, dx
mov word [0x4a031e], di
mov ecx, dword [esp + 0x5c4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xe0], eax
call fcn.0044d6d0
mov eax, dword [0x4a9b9c]
add eax, 0xebe6cb9a
mov dword [0x4a9b9c], eax
mov eax, dword [esp + 0xe8]
mov ecx, eax
call fcn.0041af10
lea ecx, [esp + 0x58c]
mov dword [esp + 0xdc], eax
call fcn.0042e190
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xd8], ecx
call fcn.004328f0
cmp eax, 0
je 0x44f640
mov eax, 0x31c4ac48
mov ecx, dword [0x4a8874]
xor ecx, 0xffffffff
xor ecx, 0x791511af
cmp eax, ecx
jge 0x44f55c
mov ax, word [0x4a2058]
mov cx, ax
add ecx, 0xffeda3ff
mov ax, cx
mov word [0x4a2058], ax
mov dword [esp + 0x108], 1
mov eax, dword [0x4a6560]
imul eax, eax, 0xa1c2cffa
mov dword [0x4a6560], eax
mov eax, dword [0x49d854]
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx], edx
mov dword [esp + 0xd4], edx
call eax
sub esp, 4
mov si, word [0x4a0290]
movsx ecx, si
sar ecx, 0xa
mov edx, dword [0x4a7f24]
and edx, ecx
mov dword [0x4a7f24], edx
mov ecx, dword [esp + 0x114]
mov byte [esp + ecx + 0x11a], 0
mov ecx, dword [0x4a5e98]
add ecx, 0xeeb7fff7
mov dword [0x4a5e98], ecx
mov ecx, dword [0x49d8cc]
mov edx, esp
mov edi, dword [esp + 0xd4]
mov dword [edx], edi
mov dword [esp + 0xd0], eax
call ecx
sub esp, 4
mov si, word [0x4a4758]
mov cx, si
dec ecx
mov bx, cx
mov word [0x4a4758], bx
movsx ecx, si
add ecx, 0x6556f3f4
and ecx, 0xa3cbd6e7
cmp ecx, 0x8cc656f0
mov dword [esp + 0xcc], eax
je 0x44f63b
mov eax, dword [0x4ad21c]
add eax, 0x6cab4725
mov ecx, dword [0x4a8cec]
xor ecx, eax
mov dword [0x4a8cec], ecx
jmp 0x44f640
mov eax, 0x4e6d08ae
mov ecx, dword [0x4b057c]
mov edx, dword [0x4b1b10]
dec edx
mov dword [0x4b1b10], edx
imul edx, edx, 0xfa65e1ae
xor ecx, edx
cmp eax, ecx
jle 0x44f67c
mov eax, dword [0x4aa364]
or eax, 0x7f175916
mov dword [0x4aa364], eax
jmp 0x44f6a7
mov eax, dword [0x4a9ea4]
mov ecx, eax
inc ecx
mov dword [0x4a9ea4], ecx
mov ecx, dword [0x4a96c0]
dec ecx
mov dword [0x4a96c0], ecx
or eax, ecx
mov ecx, dword [0x4b060c]
and ecx, eax
mov dword [0x4b060c], ecx
mov eax, esp
lea ecx, [esp + 0x11a]
mov dword [eax], ecx
call fcn.00421500
mov ecx, dword [0x4a9394]
not ecx
imul ecx, ecx, 0x9138685c
mov edx, 0x3518f698
sub edx, ecx
mov ecx, dword [0x4af748]
sub ecx, edx
mov dword [0x4af748], ecx
mov byte [esp + 0x11d], 0
mov ecx, dword [0x4a974c]
not ecx
mov edx, dword [0x4ad7f0]
add ecx, edx
cmp ecx, 0xd810ff92
mov dword [esp + 0xc8], eax
jg 0x44f71d
mov ax, word [0x4a10aa]
mov cx, ax
or ecx, 0xbbba
mov ax, cx
mov word [0x4a10aa], ax
mov eax, dword [0x4b3450]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11a]
mov dword [ecx], eax
mov dword [esp + 0xc4], eax
call fcn.004554e0
mov ecx, dword [0x4b1b3c]
and ecx, 0x4fa949e8
mov dword [0x4b1b3c], ecx
mov ecx, dword [0x49d8c8]
mov edx, esp
mov esi, dword [esp + 0xc4]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xc0], eax
call ecx
sub esp, 8
mov ecx, dword [0x4add20]
and ecx, 0x79b15f97
mov dword [0x4add20], ecx
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b2c64
mov dword [esp + 0xbc], eax
call fcn.004554d0
mov ecx, dword [0x4ab5d8]
dec ecx
mov dword [0x4ab5d8], ecx
and ecx, 0x5ac85033
cmp ecx, 0x20111020
mov dword [esp + 0xb8], eax
je 0x44f7f0
mov eax, 0x400
mov ecx, dword [0x4a7f90]
cmp eax, ecx
jne 0x44f7eb
mov eax, dword [0x4ac578]
imul eax, eax, 0xfbbb0748
mov dword [0x4ac578], eax
jmp 0x44f814
mov eax, dword [0x4afccc]
shr eax, 3
xor eax, 0x12d9
mov cx, word [0x49db6a]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x49db6a], cx
cmp dword [esp + 0x108], 0
jne 0x44f865
mov eax, dword [0x4aaa24]
and eax, 0x2844
mov cx, word [0x4a0c32]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a0c32], cx
mov dword [0x4b340c], 0
mov cx, word [0x4a32a2]
mov ax, cx
add eax, 0x11e31008
mov cx, ax
mov word [0x4a32a2], cx
mov ax, word [0x49f63a]
mov cx, ax
or ecx, 0xd7b4
mov ax, cx
mov word [0x49f63a], ax
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx], edx
call fcn.0041a440
mov dword [esp + 0x114], eax
mov eax, dword [0x4ae3e4]
add eax, 0xf13adcab
mov ecx, dword [0x4ad3fc]
xor ecx, 0x14000002
cmp eax, ecx
je 0x44f8d4
mov eax, dword [0x4a4df4]
mov ecx, eax
inc ecx
mov dword [0x4a4df4], ecx
imul eax, eax, 0x4c92e64c
mov ecx, dword [0x4afe78]
or ecx, eax
mov dword [0x4afe78], ecx
mov eax, dword [0x49d8c8]
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4a2906]
mov cx, si
xor ecx, 0xf67d
mov si, cx
mov word [0x4a2906], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x42fd
mov dword [esp + 0xb4], eax
call fcn.00444b60
mov dword [esp + 0x5c0], eax
mov eax, dword [0x4a53f0]
inc eax
mov dword [0x4a53f0], eax
xor eax, 0x9e449a3f
cmp eax, 0xfad7fe7b
je 0x44f980
mov eax, dword [0x4b169c]
dec eax
mov dword [0x4b169c], eax
mov cx, word [0x4a14a4]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a14a4], cx
movsx edx, cx
imul edx, edx, 0x61ee2492
or eax, edx
mov edx, dword [0x4a9a8c]
add edx, eax
mov dword [0x4a9a8c], edx
mov eax, 0xe62b0bb7
mov ecx, dword [esp + 0x5c0]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x11a]
mov dword [edx], ecx
mov dword [esp + 0xb0], eax
call fcn.004554e0
mov si, word [0x4a4802]
movsx ecx, si
shl ecx, 4
or ecx, 0x3ae787e5
mov edx, dword [esp + 0xb0]
cmp edx, ecx
mov dword [esp + 0xac], eax
jg 0x44f9e3
mov eax, dword [0x4afd30]
add eax, 0xc46a1903
mov dword [0x4afd30], eax
jmp 0x44f9fa
mov eax, dword [0x4aa318]
shr eax, 8
add eax, 0xcdd259eb
mov cx, ax
mov word [0x4a48b8], cx
mov eax, 0xc02d8e22
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1399
mov dword [esp + 0xa8], eax
call fcn.00444b60
mov dword [esp + 0x5bc], eax
mov eax, dword [0x4a71cc]
dec eax
mov dword [0x4a71cc], eax
imul eax, eax, 0x5ee7f75c
mov ecx, dword [esp + 0xa8]
cmp ecx, eax
jne 0x44fa4b
mov dword [0x4b25f8], 0x76621083
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044d6d0
mov eax, dword [0x4aa0b0]
shl eax, 1
imul eax, eax, 0xa9a34342
xor eax, 0x1fbf56d9
cmp eax, 0x916ae02a
jl 0x44fa98
mov ax, word [0x4a39a2]
mov cx, ax
or ecx, 0xd6cc
mov ax, cx
mov word [0x4a39a2], ax
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x11a]
mov edx, dword [esp + 0x5bc]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x58c]
mov dword [esp + 0xa4], ecx
mov ecx, edx
mov dword [esp + 0xa0], eax
call fcn.00428010
sub esp, 4
mov dword [0x4a54ac], 0x7f67dbfd
mov ecx, dword [esp + 0x5bc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x9c], eax
call fcn.0044d6d0
mov eax, dword [0x4ae808]
xor eax, 0xa2b40aca
mov dword [0x4ae808], eax
mov eax, dword [esp + 0xa0]
mov ecx, eax
call fcn.0041af10
lea ecx, [esp + 0x58c]
mov dword [esp + 0x98], eax
call fcn.0042e190
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x94], ecx
call fcn.004328f0
cmp eax, 0
jne 0x45080c
mov ax, word [0x4a26d0]
mov cx, ax
add ecx, 0x83850ac3
mov ax, cx
mov word [0x4a26d0], ax
cmp dword [0x4b2a38], 6
jb 0x44fc48
mov eax, dword [0x4a8248]
add eax, 0xe514eb94
mov dword [0x4a8248], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x1cb0
call fcn.00444b60
mov dword [esp + 0x5b8], eax
mov eax, dword [0x4ad380]
add eax, 0xf8ff6b32
mov dword [0x4ad380], eax
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11a]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b2ac8
call fcn.00456048
mov dx, word [0x4a018a]
movsx ecx, dx
mov esi, dword [0x4af670]
and ecx, esi
and ecx, 0x1bc11d4c
mov dword [0x4af670], ecx
mov ecx, dword [esp + 0x5b8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x12
mov dword [esp + 0x90], eax
call fcn.0044d6d0
mov eax, dword [0x4a5524]
mov ecx, eax
inc ecx
mov dword [0x4a5524], ecx
add eax, 0x6e49bce
mov ecx, dword [0x4a8f10]
or eax, ecx
or eax, 0x47e5d4ce
mov dword [0x4a8f10], eax
jmp 0x44fd1e
mov ax, word [0x4a3718]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a3718], dx
movsx ecx, ax
imul ecx, ecx, 0x2744384b
or ecx, 0x397f6146
mov esi, dword [0x4aa668]
and esi, ecx
mov dword [0x4aa668], esi
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0x3145
call fcn.00444b60
mov dword [esp + 0x5b4], eax
mov eax, dword [0x4acf40]
or eax, 0xcfb8
mov dx, word [0x49ff2a]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x49ff2a], dx
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11a]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b2ac8
call fcn.00456048
mov ecx, dword [0x4a9970]
mov dx, word [0x49ff6a]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x49ff6a], dx
mov ecx, dword [esp + 0x5b4]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x24
mov dword [esp + 0x8c], eax
call fcn.0044d6d0
mov eax, dword [0x4b2600]
add eax, 0x631b8db2
mov dword [0x4b2600], eax
mov eax, 0xc8fc9afc
mov cx, word [0x4a420c]
mov dx, cx
dec edx
mov si, dx
mov word [0x4a420c], si
movsx edx, cx
mov edi, dword [0x4a6770]
inc edi
mov dword [0x4a6770], edi
and edx, edi
cmp eax, edx
jle 0x44fd6f
mov eax, dword [0x4a7674]
and eax, 0x32005a52
mov ecx, dword [0x4ab118]
or ecx, eax
mov dword [0x4ab118], ecx
jmp 0x44fdb8
mov eax, 0xc25d8c72
mov cx, word [0x49e942]
movsx edx, cx
sub edx, 0xea74d625
cmp eax, edx
jge 0x44fdb3
mov eax, dword [0x4a6088]
shl eax, 0xa
or eax, 0x10b4d79b
or eax, 0xc60a7766
cmp eax, 0xa68aa390
jge 0x44fdae
jmp 0x44fdae
jmp 0x44fdb3
jmp 0x44fdb8
mov eax, 0xde73d46f
mov byte [esp + 0x58b], 0
mov ecx, dword [0x4b12b4]
dec ecx
mov dword [0x4b12b4], ecx
cmp eax, ecx
je 0x44fde9
mov eax, dword [0x4af1b8]
and eax, 0x665c0901
mov dword [0x4a9be4], eax
mov eax, 0xbbd93916
mov ecx, dword [0x4b3450]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x11a]
mov dword [edx], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
call fcn.004554e0
mov ecx, dword [0x4a52b8]
xor ecx, 0x9332c34c
mov dword [0x4a52b8], ecx
mov ecx, dword [0x49d8c8]
mov edx, esp
mov esi, dword [esp + 0x84]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x80], eax
call ecx
sub esp, 8
mov ecx, dword [0x4add58]
and ecx, 0xc7d2a01f
mov dword [0x4add58], ecx
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b2c64
mov dword [esp + 0x7c], eax
call fcn.004554d0
mov ecx, dword [0x4aa5bc]
dec ecx
mov dword [0x4aa5bc], ecx
mov edx, dword [0x4ae934]
xor edx, 0xffffffff
imul ecx, edx
mov edx, dword [esp + 0x88]
cmp edx, ecx
mov dword [esp + 0x78], eax
jne 0x44fef7
mov eax, 0xfd0f966f
mov ecx, dword [0x4aa820]
mov edx, ecx
inc edx
mov dword [0x4aa820], edx
add ecx, 0xb38d3db2
cmp eax, ecx
jge 0x44fee3
mov ax, word [0x49dd7a]
mov cx, ax
add ecx, 0x2081701c
mov ax, cx
mov word [0x49dd7a], ax
jmp 0x44fef2
mov eax, dword [0x4a7ef4]
xor eax, 0xaaebd095
mov dword [0x4a7ef4], eax
jmp 0x44fef7
mov eax, esp
lea ecx, [esp + 0x11a]
mov dword [eax], ecx
mov dword [esp + 0x74], ecx
call fcn.0041a440
mov dword [esp + 0x114], eax
mov eax, dword [0x4b03bc]
sar eax, 4
mov ecx, 0x3c7a6f75
sub ecx, eax
mov eax, dword [0x4aa5c8]
xor eax, ecx
mov dword [0x4aa5c8], eax
mov eax, dword [0x49d8c8]
mov ecx, esp
mov edx, dword [esp + 0x74]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4a710c]
cmp ecx, 0xaa7aa47c
mov dword [esp + 0x70], eax
jle 0x44ff8a
mov ax, word [0x4a1ebc]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a1ebc], ax
mov ax, word [0x4a446c]
mov dx, ax
imul ecx, edx
imul ecx, ecx, 0xf94a5ad3
mov ax, cx
mov word [0x4a446c], ax
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x11a]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x42fd
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
call fcn.00444b60
mov dword [esp + 0x5b0], eax
mov si, word [0x4a3218]
mov ax, si
dec eax
mov si, ax
mov word [0x4a3218], si
movsx eax, si
mov ecx, 0xbcf9db7c
sub ecx, eax
xor ecx, 0x22528053
mov eax, dword [0x4abc7c]
add eax, ecx
mov dword [0x4abc7c], eax
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x11a]
mov dword [ecx], eax
call fcn.004554e0
mov ecx, dword [0x4ad78c]
or ecx, 0xa1020900
mov edx, dword [0x4a4a64]
imul edx, ecx
mov dword [0x4a4a64], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1399
mov dword [esp + 0x64], eax
call fcn.00444b60
mov dword [esp + 0x5ac], eax
mov eax, dword [0x4a86f0]
xor eax, 0x1d65
mov si, word [0x4a0fc8]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4a0fc8], si
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044d6d0
mov eax, dword [0x4b0d88]
imul eax, eax, 0x93ba2259
mov dword [0x4b0d88], eax
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00428010
sub esp, 4
mov si, word [0x4a101a]
mov cx, si
add ecx, 0xb7d73fec
mov si, cx
mov word [0x4a101a], si
mov ecx, dword [esp + 0x5ac]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x60], eax
call fcn.0044d6d0
mov si, word [0x49e672]
mov ax, si
imul eax, eax, 0x30ce2be
mov si, ax
mov word [0x49e672], si
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.0041af10
lea ecx, [esp + 0x58c]
mov dword [esp + 0x5c], eax
call fcn.0042e190
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x58], ecx
call fcn.004328f0
cmp eax, 0
jne 0x4507fc
mov eax, dword [0x4adc60]
inc eax
mov dword [0x4adc60], eax
imul eax, eax, 0xc4c507b2
cmp eax, 0x703c0b20
jg 0x45016a
mov eax, dword [0x4ad388]
imul eax, eax, 0xdcefa188
mov dword [0x4ad388], eax
mov eax, dword [0x49d870]
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x54], edx
call eax
sub esp, 8
mov si, word [0x4a3f1c]
mov cx, si
or ecx, 0xb0ff
mov si, cx
mov word [0x4a3f1c], si
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00452410
mov dword [esp + 0x114], eax
mov eax, dword [0x4b101c]
mov ecx, eax
dec ecx
mov dword [0x4b101c], ecx
mov ecx, dword [0x4b0400]
lea eax, [ecx + eax - 1]
mov dword [0x4b0400], eax
mov eax, dword [esp + 0x114]
add eax, 0xfffffffe
mov dword [esp + 0x114], eax
mov eax, dword [0x4a4ecc]
shl eax, 9
sub eax, 0xd93963e5
cmp eax, 0xfff7fbff
jl 0x45021f
mov eax, dword [0x4ad7f4]
mov ecx, eax
inc ecx
mov dword [0x4ad7f4], ecx
mov ecx, dword [0x4aac58]
imul ecx, eax
mov dword [0x4aac58], ecx
mov eax, dword [esp + 0x114]
mov dword [esp + 0x110], eax
cmp dword [esp + 0x110], 0
jle 0x450335
mov eax, dword [0x4af17c]
and eax, 0x6130aea2
mov dword [0x4af17c], eax
mov eax, dword [esp + 0x110]
movsx eax, byte [esp + eax + 0x11a]
cmp eax, 0x5c
jne 0x450310
mov ax, word [0x4a101c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a101c], ax
movsx ecx, ax
mov edx, dword [0x4af454]
imul edx, ecx
lea ecx, [edx + edx + 0x38cbc318]
mov edx, dword [0x4a81fc]
sub edx, ecx
mov dword [0x4a81fc], edx
mov ecx, dword [esp + 0x110]
inc ecx
mov dword [esp + 0x110], ecx
mov ecx, dword [0x4aa2f4]
mov edx, dword [0x4addf0]
and edx, ecx
mov dword [0x4addf0], edx
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x11a], 0
mov ecx, dword [0x4ace24]
add ecx, 0x4820130e
mov dword [0x4ace24], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x114], ecx
mov ecx, dword [0x4abdb8]
shl ecx, 8
and ecx, 0x2b76c200
xor ecx, 0xbd30c577
mov edx, dword [0x4ab38c]
and edx, ecx
mov dword [0x4ab38c], edx
jmp 0x450335
mov eax, dword [0x4ac0e8]
or eax, 0x27514f9c
mov dword [0x4ac0e8], eax
mov eax, dword [esp + 0x110]
add eax, 0xffffffff
mov dword [esp + 0x110], eax
jmp 0x45022d
mov ax, word [0x4a0f7c]
mov cx, ax
and ecx, 0x8018
mov ax, cx
mov word [0x4a0f7c], ax
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b2c64
mov dword [esp + 0x4c], edx
call fcn.004554d0
mov ecx, dword [0x4b1794]
dec ecx
mov dword [0x4b1794], ecx
mov edx, dword [0x4a50a0]
dec edx
mov dword [0x4a50a0], edx
and edx, 0x3d3214e
xor ecx, edx
mov edx, dword [0x4aa628]
and edx, ecx
mov dword [0x4aa628], edx
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [esp + 0x48], eax
call fcn.0041a440
mov dword [esp + 0x114], eax
mov eax, dword [0x4a514c]
imul eax, eax, 0x5353d061
and eax, 0x32502a4d
mov ecx, dword [0x4b0a60]
imul ecx, eax
mov dword [0x4b0a60], ecx
mov eax, dword [0x49d8c8]
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x49f1d4]
mov cx, si
mov edx, dword [0x4af4f8]
and ecx, edx
mov si, cx
mov word [0x49f030], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x42fd
mov dword [esp + 0x44], eax
call fcn.00444b60
mov dword [esp + 0x5a8], eax
mov si, word [0x4a3a6a]
movsx eax, si
mov si, word [0x4a05d0]
movsx ecx, si
sar ecx, 9
xor eax, ecx
not eax
mov dword [0x4ae6d0], eax
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
call fcn.004554e0
mov ecx, dword [0x4a8184]
shl ecx, 6
add ecx, 0x5cfddfdd
cmp ecx, 0x9740f95d
mov dword [esp + 0x40], eax
je 0x4504ad
mov eax, dword [0x4b11b0]
mov ecx, eax
inc ecx
mov dword [0x4b11b0], ecx
mov ecx, dword [0x4a7494]
shl ecx, 5
neg ecx
lea eax, [eax + ecx + 1]
mov dx, word [0x49fe3c]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x49fe3c], dx
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x1399
call fcn.00444b60
mov dword [esp + 0x5a4], eax
mov eax, dword [0x4a6464]
mov ecx, eax
inc ecx
mov dword [0x4a6464], ecx
add eax, 0xbd95a361
mov dx, word [0x49df2c]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x49df2c], dx
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044d6d0
mov eax, dword [0x4af200]
mov ecx, eax
dec ecx
mov dword [0x4af200], ecx
or eax, 0xe33b5aa1
mov ecx, dword [0x4ab1f8]
xor ecx, 0xffffffff
imul ecx, ecx, 0x668da15
cmp eax, ecx
jl 0x450542
mov eax, dword [0x4b15cc]
add eax, 0x784dbcdf
mov dword [0x4b15cc], eax
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00428010
sub esp, 4
mov ecx, dword [0x4a54d0]
mov edx, ecx
inc edx
mov dword [0x4a54d0], edx
mov edx, dword [0x4b2504]
mov esi, edx
dec esi
mov dword [0x4b2504], esi
imul edx, edx, 0xf75c3e75
add edx, 0x3fc4f2d2
cmp ecx, edx
mov dword [esp + 0x3c], eax
jl 0x4505af
mov ax, word [0x49de3c]
mov cx, ax
or ecx, 0xb30e
mov ax, cx
mov word [0x49de3c], ax
jmp 0x4505c7
mov ax, word [0x49de92]
mov cx, ax
or ecx, 0xddd1
mov ax, cx
mov word [0x49de92], ax
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044d6d0
mov dx, word [0x4a07ac]
movsx eax, dx
sar eax, 8
cmp eax, 0x6cdabd8a
jl 0x450626
mov eax, 0xb7e4a620
mov ecx, dword [0x4ad0b0]
mov edx, ecx
inc edx
mov dword [0x4ad0b0], edx
cmp eax, ecx
je 0x450621
mov eax, dword [0x4a99c8]
add eax, 0x81953b4d
mov dword [0x4a99c8], eax
jmp 0x450626
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x11a]
mov dword [esp + 0x38], ecx
mov ecx, eax
call fcn.0041af10
lea ecx, [esp + 0x58c]
mov dword [esp + 0x34], eax
call fcn.0042e190
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x30], ecx
call fcn.004328f0
cmp eax, 0
jne 0x4507af
mov eax, dword [0x4b0578]
imul eax, eax, 0xcc1510df
mov dword [0x4b0578], eax
mov eax, dword [0x49d870]
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x2c], edx
call eax
sub esp, 8
mov ecx, dword [0x4afa34]
sar ecx, 5
imul ecx, ecx, 0xf8f753c9
mov dword [0x4a7330], ecx
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b2c64
mov dword [esp + 0x28], eax
call fcn.004554d0
mov si, word [0x4a358a]
movsx ecx, si
not ecx
imul ecx, ecx, 0x5045078d
mov si, word [0x4a2d22]
movsx edx, si
xor edx, 0xffffffff
sub edx, 0xdeae3338
cmp ecx, edx
mov dword [esp + 0x24], eax
jg 0x45071e
mov eax, dword [0x4aba60]
xor eax, 0x32cca1fd
mov dword [0x4aba60], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x42fd
call fcn.00444b60
mov dword [esp + 0x5a0], eax
mov eax, dword [0x4aecd8]
add eax, 0x52a213cd
mov cx, word [0x4a1afe]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a1afe], cx
mov eax, dword [esp + 0x5a0]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x11a]
mov dword [edx], eax
call fcn.004554e0
mov edx, dword [0x4a7e14]
imul edx, edx, 0x93fe4d11
mov dword [0x4a7e14], edx
mov edx, dword [esp + 0x5a0]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x20], eax
call fcn.0044d6d0
mov eax, dword [0x4a9934]
add eax, 0x3caa572d
mov dword [0x4a9934], eax
mov eax, dword [0x4a7a60]
mov ecx, dword [0x4a85d4]
or eax, ecx
mov ecx, dword [0x4af048]
mov edx, ecx
dec edx
mov dword [0x4af048], edx
imul ecx, ecx, 0x121d1c22
and ecx, 0x189a8c4d
cmp eax, ecx
jl 0x4507f7
mov ax, word [0x4a38a6]
mov cx, ax
or ecx, 0xffbe
mov ax, cx
mov word [0x4a38a6], ax
jmp 0x4507fc
mov eax, dword [0x4abc2c]
imul eax, eax, 0x9572f798
mov dword [0x4abc2c], eax
mov eax, 0xce092358
mov ecx, dword [0x4a7cc8]
shr ecx, 9
imul ecx, ecx, 0x882be342
mov dx, word [0x4a354e]
mov si, dx
add esi, ecx
mov dx, si
mov word [0x4a354e], dx
mov ecx, esp
lea esi, [esp + 0x11a]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
call fcn.0041a440
mov ecx, dword [0x4a7cd8]
sar ecx, 2
mov dx, word [0x4a1e5e]
mov si, dx
dec esi
mov di, si
mov word [0x4a1e5e], di
movsx esi, dx
imul esi, esi, 0xfc35afd1
sub ecx, esi
mov esi, dword [esp + 0x1c]
cmp esi, ecx
mov dword [esp + 0x18], eax
je 0x4508a0
mov ax, word [0x49f4b8]
mov cx, ax
xor ecx, 0x77fb
mov ax, cx
mov word [0x49f4b8], ax
jmp 0x4508cd
mov eax, 0x4e1efc86
mov ecx, dword [0x4aa8a0]
and ecx, 0x2e11b56b
cmp eax, ecx
jge 0x4508c8
mov eax, dword [0x4abbbc]
add eax, 0x642241a1
mov dword [0x4abbbc], eax
jmp 0x4508cd
mov eax, dword [0x49d87c]
mov ecx, esp
lea edx, [esp + 0x11a]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov dword [0x4afa7c], 0xbfc389f8
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x472
mov dword [esp + 0x10], eax
call fcn.004034a0
mov eax, dword [0x4ab6fc]
add eax, 0xe67ae3a7
mov dword [0x4ab6fc], eax
lea ecx, [esp + 0x58c]
call fcn.00420620
add esp, 0x5cc
pop esi
pop edi
pop ebx
ret