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

Disassembly:
push edi
push esi
sub esp, 0xf0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov edi, 0x26a6055e
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xdc], esi
mov eax, dword [0x4941c4]
shl eax, 0xa
mov ecx, dword [0x4958fc]
mov edx, dword [0x495618]
mov esi, edx
inc esi
mov dword [0x495618], esi
xor ecx, edx
or eax, ecx
cmp edi, eax
jg 0x44f4fd
mov eax, dword [0x49338c]
or eax, 0x9152610f
mov dword [0x49338c], eax
xor eax, eax
mov ecx, dword [0x49362c]
sar ecx, 3
add ecx, 0xb7b5b20
or ecx, 0xa4d9b4c6
mov edx, dword [0x492de8]
add edx, ecx
mov dword [0x492de8], edx
mov si, word [0x4900fc]
movsx ecx, si
mov dword [0x495710], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x68], eax
call fcn.00436540
cmp eax, 0
jne 0x44f566
mov dword [esp + 0xec], 0xfffffff4
jmp 0x45105b
mov ax, word [0x490fb2]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x490fb2], ax
movsx ecx, ax
mov edx, dword [0x4950b0]
or edx, ecx
mov dword [0x4950b0], edx
mov ecx, esp
lea edx, [esp + 0x8c]
mov dword [ecx + 0x10], edx
lea edx, [esp + 0x98]
mov dword [ecx + 0xc], edx
lea edx, [esp + 0xa4]
mov dword [ecx + 8], edx
lea edx, [esp + 0xb0]
mov dword [ecx + 4], edx
lea edx, [esp + 0xbc]
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
call fcn.00406430
mov ax, word [0x490f9a]
movsx ecx, ax
not ecx
or ecx, 0x80fe9479
and ecx, 0x80fff4ff
mov edx, dword [0x4937ec]
shl edx, 8
mov esi, dword [0x4951b8]
sar esi, 9
imul edx, esi
and edx, 0xe3fda322
cmp ecx, edx
jge 0x44f620
mov ax, word [0x48fdb8]
mov cx, ax
add ecx, 0x8520271
mov ax, cx
mov word [0x48fdb8], ax
jmp 0x44f682
mov eax, 0x7fff9bfd
mov ecx, dword [0x492568]
inc ecx
mov dword [0x492568], ecx
cmp eax, ecx
jne 0x44f673
mov eax, dword [0x4943dc]
add eax, eax
mov cx, word [0x490e1c]
mov dx, cx
inc edx
mov cx, dx
mov word [0x490e1c], cx
movsx edx, cx
and eax, edx
or eax, 0xd086942b
mov edx, dword [0x492984]
sub edx, eax
mov dword [0x492984], edx
jmp 0x44f67d
mov dword [0x4917a8], 0x11cf3fb5
jmp 0x44f682
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041dae0
cmp eax, 0
jge 0x44f7a3
mov dword [0x492250], 0x86000800
cmp dword [esp + 0xdc], 0
je 0x44f6f4
xor eax, eax
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x64], eax
call fcn.00446010
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f6ef
jmp 0x450ff5
jmp 0x44f6f4
mov dword [0x494f5c], 0xf4dd88b7
cmp dword [esp + 0xe0], 0
je 0x44f740
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043ffd0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f73b
jmp 0x450ff5
jmp 0x44f740
mov eax, 0x5ee9474e
mov cx, word [0x4900fe]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4900fe], cx
movsx edx, cx
cmp eax, edx
je 0x44f793
mov eax, 0x77fff11
mov ecx, dword [0x494ffc]
dec ecx
mov dword [0x494ffc], ecx
cmp eax, ecx
jg 0x44f78e
mov eax, dword [0x493934]
or eax, 0x8067418e
mov dword [0x493934], eax
jmp 0x44f793
mov dword [esp + 0xec], 0
jmp 0x45105b
mov eax, 0x95ba6720
mov cx, word [0x49024c]
mov dx, cx
inc edx
mov si, dx
mov word [0x49024c], si
movsx edx, cx
imul edx, edx, 0x5305d2af
mov edi, dword [0x49496c]
inc edi
mov dword [0x49496c], edi
imul edx, edi
cmp eax, edx
jl 0x44f7f2
mov eax, dword [0x493dac]
add eax, 0x1c6c2ed6
mov dword [0x493dac], eax
jmp 0x44f801
mov eax, dword [0x493f7c]
add eax, 0x6a388feb
mov dword [0x493f7c], eax
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ffd0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f830
jmp 0x450ff5
lea eax, [esp + 0xb0]
mov ecx, dword [0x4934c0]
imul ecx, ecx, 0xd674f9d6
mov dword [0x4934c0], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ffd0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f871
jmp 0x450ff5
mov eax, 0xfff72e66
mov ecx, dword [0x492288]
add ecx, 0xc235740e
mov dword [0x492288], ecx
mov dword [esp + 0xb0], 1
mov dword [esp + 0xbc], 1
mov dx, word [0x49079c]
movsx ecx, dx
shl ecx, 4
cmp eax, ecx
jne 0x44f914
mov eax, dword [0x494e48]
mov ecx, dword [0x494dc8]
sar ecx, 3
cmp eax, ecx
jne 0x44f8dd
mov eax, dword [0x493964]
or eax, 0x685a928a
mov dword [0x493964], eax
jmp 0x44f90f
mov eax, 0xae29dffe
mov cx, word [0x49089c]
movsx edx, cx
add edx, 0x9d88fd95
and edx, 0xe9b2499c
cmp eax, edx
je 0x44f905
jmp 0x44f90a
jmp 0x44f90a
jmp 0x44f90f
jmp 0x44f914
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0xe4]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00441a40
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f949
jmp 0x450ff5
lea eax, [esp + 0xa4]
xor ecx, ecx
mov edx, dword [0x495520]
mov esi, edx
dec esi
mov dword [0x495520], esi
mov esi, dword [0x492564]
mov edi, esi
inc edi
mov dword [0x492564], edi
lea edx, [edx + esi + 1]
and edx, 0x924f8065
mov esi, dword [0x494290]
imul esi, edx
mov dword [0x494290], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x60], ecx
call fcn.00446010
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44f9b2
jmp 0x450ff5
lea eax, [esp + 0x98]
mov ecx, 2
mov edx, dword [0x493b20]
or edx, 0x627a3b22
mov esi, dword [0x493a08]
add esi, edx
mov dword [0x493a08], esi
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x5c], ecx
call fcn.00441a40
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44fa01
jmp 0x450ff5
mov ax, word [0x490fa4]
movsx ecx, ax
add ecx, 0x4abda2bd
or ecx, 0xc26810a6
mov edx, dword [0x492254]
sar edx, 3
cmp ecx, edx
jge 0x44fa37
mov eax, dword [0x4940a0]
imul eax, eax, 0x6daf3b80
mov dword [0x4940a0], eax
lea eax, [esp + 0x8c]
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x58], ecx
call fcn.00441a40
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44fa6c
jmp 0x450ff5
mov eax, dword [0x495168]
sar eax, 6
imul eax, eax, 0xee4c0f28
mov ecx, dword [0x491d84]
sub ecx, eax
mov dword [0x491d84], ecx
mov eax, esp
lea ecx, [esp + 0xb0]
mov dword [eax], ecx
call fcn.00420970
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xc8], eax
mov eax, dword [0x493c80]
mov ecx, dword [0x4925a4]
imul eax, ecx
imul eax, eax, 0xe9c32900
mov ecx, dword [0x4932a8]
sub ecx, eax
mov dword [0x4932a8], ecx
cmp dword [esp + 0xc8], 0x1f
jge 0x44fc52
lea eax, [esp + 0xbc]
mov cx, word [0x490b5e]
mov dx, cx
dec edx
mov si, dx
mov word [0x490b5e], si
movsx edx, cx
mov edi, dword [0x491ba8]
lea edx, [edx + edi - 0x77f29f03]
mov dword [0x491ba8], edx
mov edx, dword [esp + 0xc8]
mov edi, 0x1f
sub edi, edx
mov dword [esp + 0xc8], edi
mov cx, word [0x48f772]
mov dx, cx
and edx, 0xd45e
mov cx, dx
mov word [0x48f772], cx
mov edx, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00440ab0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44fb69
jmp 0x450ff5
lea eax, [esp + 0xb0]
mov ecx, dword [0x493b50]
imul ecx, ecx, 0x9279c11d
mov dword [0x493b50], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440ab0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x44fbaa
jmp 0x450ff5
mov eax, dword [0x494734]
or eax, 0x44eed2c3
cmp eax, 0x284c0e77
jle 0x44fbdc
mov ax, word [0x491712]
mov cx, ax
and ecx, 0x14fc
mov ax, cx
mov word [0x491712], ax
jmp 0x44fc4d
mov eax, 0xa0a0d06
mov ecx, dword [0x493718]
shl ecx, 0xa
cmp eax, ecx
jge 0x44fc25
mov eax, dword [0x49364c]
xor eax, 0xa346b77f
mov cx, word [0x490908]
movsx edx, cx
not edx
mov esi, dword [0x493d64]
sar esi, 5
add edx, esi
cmp eax, edx
jg 0x44fc20
jmp 0x44fc20
jmp 0x44fc48
mov eax, 0x3179d070
mov ecx, dword [0x495110]
xor ecx, 0x80d23006
cmp eax, ecx
jg 0x44fc43
jmp 0x44fc43
jmp 0x44fc48
jmp 0x44fc4d
jmp 0x44fc5d
mov dword [esp + 0xc8], 0
mov eax, 0xe544efb2
mov cx, word [0x491246]
movsx edx, cx
shl edx, 7
or edx, 0x1f10a8f1
mov esi, dword [0x492730]
and esi, edx
mov dword [0x492730], esi
mov edx, dword [esp + 0xc0]
dec edx
mov dword [esp + 0xd0], edx
mov cx, word [0x48f74e]
mov dx, cx
dec edx
mov di, dx
mov word [0x48f74e], di
movsx edx, cx
and edx, 0x64552df7
cmp eax, edx
jl 0x44fcd8
mov eax, dword [0x49357c]
mov cx, word [0x491060]
movsx edx, cx
and eax, edx
mov edx, dword [0x4952c4]
imul edx, eax
mov dword [0x4952c4], edx
mov eax, dword [esp + 0xb4]
dec eax
mov dword [esp + 0xcc], eax
mov eax, dword [0x494b14]
add eax, 0xef35debb
mov dword [0x494b14], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xb0]
mov dword [ecx], eax
call fcn.00440ab0
mov ecx, dword [0x492d24]
sub ecx, 0xdda532bc
sub ecx, 0x90662d7e
cmp ecx, 0x95d8a4c5
mov dword [esp + 0x54], eax
jg 0x44fd62
mov eax, dword [0x4953d4]
inc eax
mov dword [0x4953d4], eax
imul eax, eax, 0x4ace7e3b
or eax, 0xa2d5a8b6
mov ecx, dword [0x491984]
and ecx, eax
mov dword [0x491984], ecx
jmp 0x44fd67
lea eax, [esp + 0xbc]
lea ecx, [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00416e50
cmp eax, 0
jl 0x44fe13
mov eax, dword [0x4925c0]
add eax, 0x3b16894d
mov dword [0x4925c0], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
sub eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x492e54]
add eax, 0x40880e04
mov dword [0x492e54], eax
mov eax, esp
lea ecx, [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.00428460
mov ecx, dword [0x4934cc]
mov si, word [0x48fb54]
movsx edx, si
mov edi, 0x93163748
sub edi, edx
or ecx, edi
mov edx, dword [0x493f88]
xor edx, ecx
mov dword [0x493f88], edx
mov dword [esp + 0x50], eax
jmp 0x44fd67
mov eax, 0x51d97be7
mov ecx, dword [0x492f1c]
xor ecx, 0x6df05d91
mov dword [0x492f1c], ecx
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
sub ecx, edx
shl ecx, 5
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xb0]
mov dword [edx], ecx
mov dword [esp + 0x4c], eax
call fcn.00402b50
mov ecx, dword [0x4935e4]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x4c]
cmp edx, ecx
mov dword [esp + 0x48], eax
jge 0x44fe76
mov word [0x490e4c], 0x9d9
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
cmp eax, dword [esp + 0xcc]
jle 0x450d26
mov eax, dword [0x491b18]
add eax, 0xc239e6b
mov ecx, dword [0x492e40]
and ecx, eax
mov dword [0x492e40], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xb8]
cmp eax, dword [edx + ecx*4]
jb 0x44fefc
mov eax, dword [esp + 0xd4]
sub eax, dword [esp + 0xcc]
sub eax, 1
mov ecx, dword [esp + 0xac]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x45062f
mov eax, dword [0x492654]
mov ecx, eax
inc ecx
mov dword [0x492654], ecx
mov ecx, dword [0x4936e4]
shl ecx, 9
neg ecx
lea eax, [eax + ecx - 0x67f4c9cb]
mov ecx, dword [0x493850]
xor ecx, eax
mov dword [0x493850], ecx
mov dx, word [0x490cf2]
mov ax, dx
xor eax, 0x1a00
mov dx, ax
mov word [0x490cf2], dx
mov eax, dword [0x494f64]
imul eax, eax, 0x5a853156
mov dword [0x494f64], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x70], eax
mov dword [0x493cfc], 0xc1895f36
movzx eax, word [esp + 0x70]
mov dword [esp + 0x78], eax
mov dword [0x494960], 0xa4f3ed1a
movzx eax, word [esp + 0x72]
mov dword [esp + 0x74], eax
mov eax, dword [0x492418]
imul eax, eax, 0xfec6afbb
mov dword [0x492418], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x74]
xor edx, edx
div ecx
mov dword [esp + 0x84], eax
mov dword [0x494150], 0x4244f2b7
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x84]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [0x491e30]
sub eax, 0xb3094466
cmp eax, 0x7bf579bf
jl 0x450010
mov word [0x490fb8], 0xf74c
jmp 0x45002e
mov eax, dword [0x493b50]
add eax, 0xb5860295
xor eax, 0xbd1df60a
mov ecx, dword [0x494984]
imul ecx, eax
mov dword [0x494984], ecx
mov eax, 0xba3606ba
mov ecx, dword [esp + 0x7c]
shl ecx, 0x10
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x491c70]
add ecx, 0x809a748a
mov dword [0x491c70], ecx
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xc4]
movzx ecx, word [edx + ecx*4 - 2]
mov edx, dword [esp + 0x7c]
or edx, ecx
mov dword [esp + 0x7c], edx
mov ecx, dword [0x493bc4]
shl ecx, 3
mov si, word [0x490d34]
mov dx, si
dec edx
mov di, dx
mov word [0x490d34], di
movsx edx, si
xor ecx, edx
cmp eax, ecx
jg 0x4500d7
mov ax, word [0x48f6de]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x48f6de], ax
mov edx, 0xb1f33d17
sub edx, ecx
mov ecx, dword [0x492130]
inc ecx
mov dword [0x492130], ecx
xor edx, ecx
mov ax, word [0x4911d4]
mov cx, ax
or ecx, edx
mov ax, cx
mov word [0x4911d4], ax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x78]
imul eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [0x493224]
mov ecx, eax
inc ecx
mov dword [0x493224], ecx
or eax, 0x5833
mov dx, word [0x48f902]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x48f902], dx
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x6c]
jae 0x45021e
mov eax, 0x3d4667e1
mov ecx, dword [0x4943ec]
add ecx, 0x20f0d15b
or ecx, 0x5d25e417
cmp eax, ecx
jl 0x450154
mov eax, dword [0x49370c]
and eax, 0xbfefbf5f
mov dword [0x49370c], eax
jmp 0x450178
mov ax, word [0x490434]
movsx ecx, ax
mov edx, 0xb7d2055d
sub edx, ecx
xor edx, 0x44fec861
mov ecx, dword [0x494d9c]
add ecx, edx
mov dword [0x494d9c], ecx
mov eax, dword [esp + 0x84]
dec eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
add ecx, eax
mov dword [esp + 0x7c], ecx
mov eax, dword [0x493ffc]
mov ecx, dword [0x492814]
xor ecx, eax
mov dword [0x492814], ecx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x70]
mov byte [esp + 0x47], cl
jb 0x4501cd
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x6c]
setb cl
mov byte [esp + 0x47], cl
mov al, byte [esp + 0x47]
test al, 1
jne 0x4501de
jmp 0x450200
mov eax, dword [esp + 0x84]
add eax, 0xffffffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
jmp 0x4501a8
mov eax, dword [0x493b0c]
not eax
and eax, 0x701278a8
mov ecx, dword [0x493078]
or eax, ecx
or eax, 0x836c8306
mov dword [0x493078], eax
mov eax, 0x695d052d
mov ecx, dword [0x493580]
cmp eax, ecx
je 0x45026f
mov eax, dword [0x495144]
mov cx, word [0x490100]
movsx edx, cx
add eax, edx
and eax, 0xf6cfc23a
cmp eax, 0xfbb0be49
jg 0x45026a
mov ax, word [0x491734]
mov cx, ax
xor ecx, 0x39c
mov ax, cx
mov word [0x491734], ax
jmp 0x45026f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
sub ecx, eax
mov dword [esp + 0x7c], ecx
mov eax, dword [0x492cec]
xor eax, 0x68164534
mov dword [0x492cec], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
xor edx, edx
div ecx
mov dword [esp + 0x88], eax
mov si, word [0x48fc6c]
mov ax, si
inc eax
mov di, ax
mov word [0x48fc6c], di
movsx eax, si
mov ecx, 0xc6180749
sub ecx, eax
mov si, word [0x490720]
movsx eax, si
and ecx, eax
mov eax, dword [0x492660]
add eax, ecx
mov dword [0x492660], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x80], eax
mov si, word [0x48fc6a]
mov ax, si
xor eax, 0xebfe
mov si, ax
mov word [0x48fc6a], si
mov eax, dword [esp + 0x80]
shl eax, 0x10
mov dword [esp + 0x80], eax
mov eax, dword [0x4921b4]
or eax, 0xbd2a6494
mov dword [0x4921b4], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc4]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x80]
or ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [0x4923dc]
sar eax, 1
and eax, 0x4bd2fb1a
cmp eax, 0x540
jl 0x450379
mov eax, dword [0x4921bc]
and eax, 0x157ccdb3
xor eax, 0x38331ba3
mov dword [0x494004], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x78]
imul eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [0x4953c0]
shl eax, 3
mov ecx, 0x42801037
sub ecx, eax
mov eax, dword [0x492fe0]
and ecx, eax
and ecx, 0xbfe791d
mov dword [0x492fe0], ecx
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x6c]
jae 0x450501
mov eax, 0x1f6dc259
mov ecx, dword [0x494e58]
mov edx, ecx
dec edx
mov dword [0x494e58], edx
mov edx, dword [0x492c5c]
lea ecx, [edx + ecx - 1]
mov dword [0x492c5c], ecx
mov ecx, dword [esp + 0x88]
dec ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
add edx, ecx
mov dword [esp + 0x80], edx
mov ecx, dword [0x493be4]
mov edx, ecx
dec edx
mov dword [0x493be4], edx
cmp eax, ecx
jl 0x450456
mov eax, 0x302cacc1
mov cx, word [0x490882]
mov dx, cx
dec edx
mov si, dx
mov word [0x490882], si
movsx edx, cx
cmp eax, edx
je 0x450451
mov eax, dword [0x492d50]
imul eax, eax, 0xfca6a442
mov dword [0x492d50], eax
jmp 0x450456
jmp 0x45045b
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x70]
mov byte [esp + 0x46], cl
jb 0x450486
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x6c]
setb cl
mov byte [esp + 0x46], cl
mov al, byte [esp + 0x46]
test al, 1
jne 0x450497
jmp 0x4504bf
mov eax, dword [esp + 0x88]
add eax, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x70]
add eax, dword [esp + 0x80]
mov dword [esp + 0x80], eax
jmp 0x45045b
mov eax, 0x17820f3c
mov ecx, dword [0x4923e8]
xor ecx, 0xffffffff
cmp eax, ecx
jle 0x4504fc
mov eax, dword [0x49550c]
mov ecx, dword [0x494fcc]
inc ecx
and eax, ecx
mov dword [0x494fcc], ecx
and eax, 0xdf497d0b
mov ecx, dword [0x491e84]
add ecx, eax
mov dword [0x491e84], ecx
jmp 0x450501
mov ax, word [0x491002]
mov cx, ax
and ecx, 0x4d60
xor ecx, 0x61c4
mov ax, word [0x491002]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x491002], ax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
sub edx, ecx
mov dword [esp + 0x80], edx
mov ax, word [0x48f8c6]
movsx ecx, ax
mov edx, 0x13b5a214
sub edx, ecx
mov ax, word [0x48fcdc]
mov cx, ax
inc ecx
mov si, cx
mov word [0x48fcdc], si
movsx ecx, ax
add edx, ecx
cmp edx, 0x5fdf8da3
jle 0x450591
mov ax, word [0x48fca8]
mov cx, ax
imul ecx, ecx, 0x98052ac1
mov ax, cx
mov word [0x48fca8], ax
jmp 0x4505a0
mov eax, dword [0x495804]
or eax, 0xf7f74fdd
mov dword [0x495804], eax
mov eax, 0xb02b3db8
mov ecx, dword [esp + 0x84]
shl ecx, 0x10
mov edx, dword [esp + 0x88]
or ecx, edx
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0xcc]
sub edx, esi
mov esi, dword [esp + 0xac]
mov dword [esi + edx*4 - 4], ecx
mov ecx, dword [0x4917b8]
mov edx, ecx
inc edx
mov dword [0x4917b8], edx
imul ecx, ecx, 0xf502284a
and ecx, 0xf67d5d4f
cmp eax, ecx
jl 0x45062a
mov ax, word [0x49137a]
movsx ecx, ax
xor ecx, 0x40880
cmp ecx, 0xf73b3317
jg 0x450625
mov eax, dword [0x494478]
mov ecx, dword [0x4943dc]
imul ecx, eax
mov dword [0x4943dc], ecx
jmp 0x45062a
jmp 0x45062f
mov dword [0x4932f8], 0x76c6d149
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xcc]
sub eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + eax*4 - 4]
inc edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x492a28]
add eax, eax
mov ecx, 0xea9d10b8
sub ecx, eax
mov dword [0x495880], ecx
lea eax, [esp + 0x98]
xor ecx, ecx
mov edx, dword [0x494eb4]
add edx, 0x70e4770b
mov dword [0x494eb4], edx
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0xcc]
sub edx, esi
mov esi, dword [esp + 0xac]
mov edi, dword [esi + edx*4 - 4]
dec edi
mov dword [esi + edx*4 - 4], edi
mov edx, dword [0x492b1c]
mov esi, edx
dec esi
mov dword [0x492b1c], esi
mov esi, dword [0x495084]
or edx, esi
or edx, 0xdcf1261f
mov dword [0x495084], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ecx
call fcn.00446010
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x4506f4
jmp 0x450ff5
mov eax, dword [0x493948]
or eax, 0x80f89b0b
mov dword [0x493948], eax
cmp dword [esp + 0xcc], 1
jge 0x45071c
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x450734
mov eax, dword [esp + 0xcc]
sub eax, 1
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov ecx, 0xab738343
mov edx, dword [esp + 0xa0]
mov dword [edx], eax
mov eax, dword [0x49359c]
imul eax, eax, 0x404d37a9
imul eax, eax, 0xc0ffb391
cmp ecx, eax
jne 0x45076f
mov eax, dword [0x4929f4]
imul eax, eax, 0xcfba3a83
mov dword [0x4929f4], eax
mov eax, 0x625040
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xa0]
mov dword [edx + 4], ecx
mov ecx, dword [0x492ce0]
mov edx, ecx
dec edx
mov dword [0x492ce0], edx
cmp eax, ecx
jge 0x4507b5
mov eax, dword [0x495488]
xor eax, 0x286e21a7
mov dword [0x495488], eax
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0xd4]
sub ecx, dword [esp + 0xcc]
sub ecx, 1
mov edx, dword [esp + 0xac]
mov ecx, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00416ac0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x4507fc
jmp 0x450ff5
lea eax, [esp + 0x8c]
xor ecx, ecx
mov dx, word [0x48fe50]
mov si, dx
mov edi, esi
inc edi
mov dx, di
mov word [0x48fe50], dx
imul esi, esi, 0xb57ead81
mov dx, word [0x48f6e2]
mov di, dx
sub edi, esi
mov dx, di
mov word [0x48f6e2], dx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], ecx
call fcn.00446010
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450861
jmp 0x450ff5
mov eax, dword [0x4948a8]
add eax, 0x8f11574c
mov dword [0x4948a8], eax
cmp dword [esp + 0xd4], 2
jge 0x450889
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x4508a1
mov eax, dword [esp + 0xd4]
sub eax, 2
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x94]
mov dword [ecx], eax
mov dx, word [0x490288]
movsx eax, dx
shl eax, 5
mov ecx, dword [0x492924]
sub eax, ecx
mov dx, word [0x4904cc]
movsx ecx, dx
sar ecx, 6
and eax, ecx
cmp eax, 0x9795fb44
jne 0x4508fa
mov eax, dword [0x494e8c]
mov ecx, eax
inc ecx
mov dword [0x494e8c], ecx
and eax, 0xacf8a369
mov dword [0x4926d0], eax
jmp 0x450918
mov eax, dword [0x491ccc]
inc eax
mov dword [0x491ccc], eax
or eax, 0x28a8b5d3
mov ecx, dword [0x493938]
add ecx, eax
mov dword [0x493938], ecx
cmp dword [esp + 0xd4], 1
jge 0x450931
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x450949
mov eax, dword [esp + 0xd4]
sub eax, 1
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov eax, dword [0x4921ac]
and eax, 0x1702208
mov ecx, dword [0x4926f4]
mov edx, dword [0x4947f8]
mov esi, edx
inc esi
mov dword [0x4947f8], esi
imul ecx, edx
mov edx, dword [0x493844]
add ecx, edx
cmp eax, ecx
jl 0x4509a6
mov eax, dword [0x4935b4]
xor eax, 0x24c8218
or eax, 0xdc237463
mov ecx, dword [0x492c1c]
and ecx, eax
mov dword [0x492c1c], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 8], eax
mov eax, dword [0x4932c0]
and eax, 0x1b1b1d1c
mov dword [0x4932c0], eax
lea eax, [esp + 0x98]
lea ecx, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00416e50
cmp eax, 0
jg 0x45066d
lea eax, [esp + 0x98]
lea ecx, [esp + 0xb0]
mov edx, dword [0x4948e8]
and edx, 0xb7fffddf
mov dword [0x4948e8], edx
mov edx, dword [esp + 0xd4]
sub edx, dword [esp + 0xcc]
sub edx, 1
mov esi, dword [esp + 0xac]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00416ac0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450a53
jmp 0x450ff5
lea eax, [esp + 0x98]
mov ecx, dword [0x49573c]
imul ecx, ecx, 0xb94ae3c4
mov dword [0x49573c], ecx
mov ecx, dword [esp + 0xd4]
sub ecx, dword [esp + 0xcc]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440ab0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450aa1
jmp 0x450ff5
lea eax, [esp + 0xbc]
lea ecx, [esp + 0x98]
mov dx, word [0x490b7a]
mov si, dx
xor esi, 0x285
mov dx, si
mov word [0x490560], dx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00428460
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450aee
jmp 0x450ff5
lea eax, [esp + 0xbc]
xor ecx, ecx
mov edx, dword [0x493c6c]
sar edx, 5
add edx, 0x365e5eb9
mov esi, dword [0x49282c]
shl esi, 7
xor edx, esi
mov dword [0x493c44], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x2c], ecx
call fcn.00436540
cmp eax, 0
jge 0x450ca2
lea eax, [esp + 0x98]
lea ecx, [esp + 0xb0]
mov edx, dword [0x495404]
mov si, word [0x490aba]
mov di, si
add edi, edx
mov si, di
mov word [0x490aba], si
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ffd0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450b7f
jmp 0x450ff5
mov eax, dword [0x495144]
mov ecx, eax
dec ecx
mov dword [0x495144], ecx
or eax, 0xd33ab9cb
mov dx, word [0x490d08]
movsx ecx, dx
sar ecx, 9
imul ecx, ecx, 0x65f38a22
cmp eax, ecx
jl 0x450bbc
mov eax, dword [0x4938d0]
add eax, 0x6cfa2068
mov dword [0x4938d0], eax
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0xd4]
sub ecx, dword [esp + 0xcc]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00440ab0
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450bf8
jmp 0x450ff5
mov eax, 0x22cbd1fb
mov cx, word [0x4903e0]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4903e0], cx
movsx edx, cx
cmp eax, edx
jge 0x450c27
mov dword [0x493328], 0xcd62291
lea eax, [esp + 0xbc]
lea ecx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0041f580
mov dword [esp + 0xd8], eax
cmp eax, 0
je 0x450c5a
jmp 0x450ff5
mov eax, dword [0x4954c8]
add eax, 0x11892ae2
mov dword [0x4954c8], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xcc]
sub eax, ecx
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + eax*4 - 4]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x49486c]
imul eax, eax, 0x665a1c00
mov ecx, dword [0x49518c]
or ecx, eax
mov dword [0x49518c], ecx
mov eax, 0x430c0854
mov ecx, dword [0x492c28]
cmp eax, ecx
jle 0x450cd2
mov eax, dword [0x4929cc]
xor eax, 0x51a1696f
mov ecx, dword [0x494ff8]
sub ecx, eax
mov dword [0x494ff8], ecx
jmp 0x450d0b
mov eax, dword [0x491e50]
mov ecx, eax
inc ecx
mov dword [0x491e50], ecx
mov ecx, dword [0x494710]
shl ecx, 4
add ecx, 0x209ba5b9
cmp eax, ecx
je 0x450d06
mov eax, dword [0x491db8]
add eax, 0x40e97f9f
mov dword [0x491db8], eax
jmp 0x450d0b
jmp 0x450d10
mov eax, dword [esp + 0xd4]
add eax, 0xffffffff
mov dword [esp + 0xd4], eax
jmp 0x44fe84
mov ax, word [0x491474]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x491474], dx
movsx ecx, ax
xor ecx, 0xb6a7c70c
or ecx, 0xcc12873e
cmp ecx, 0xf977327d
je 0x450d6d
mov ax, word [0x4909da]
mov cx, ax
and ecx, 0x6a49
mov ax, cx
mov word [0x4909da], ax
cmp dword [esp + 0xdc], 0
je 0x450e72
mov eax, dword [0x494e9c]
mov ecx, eax
inc ecx
mov dword [0x494e9c], ecx
mov ecx, 0x478046b3
sub ecx, eax
mov eax, dword [0x493030]
lea eax, [ecx + eax - 0x65e73bc8]
mov dword [0x493030], eax
mov eax, dword [esp + 0xdc]
mov ecx, esp
lea edx, [esp + 0xa4]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.0043ffd0
mov ecx, dword [0x49405c]
mov edx, 0xce1715b3
sub edx, ecx
mov si, word [0x48f9d0]
mov cx, si
or ecx, edx
mov si, cx
mov word [0x48f9d0], si
mov ecx, dword [esp + 0xe4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe8]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xdc]
mov dword [edx], ecx
mov ecx, dword [0x493da4]
sar ecx, 4
xor ecx, 0x6bd98c0d
cmp ecx, 0x820ba9d
mov dword [esp + 0x28], eax
jl 0x450e3e
mov eax, dword [0x495750]
not eax
mov cx, word [0x49175c]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x49175c], cx
jmp 0x450e6d
mov eax, 0x95a0b6f
mov ecx, dword [0x493108]
cmp eax, ecx
jge 0x450e68
mov eax, dword [0x495444]
shr eax, 3
or eax, 0xc988
mov cx, ax
mov word [0x4910c6], cx
jmp 0x450e6d
jmp 0x450e72
mov eax, dword [0x494608]
sar eax, 1
xor eax, 0x7240b1e2
mov ecx, dword [0x494b20]
add ecx, eax
mov dword [0x494b20], ecx
cmp dword [esp + 0xe0], 0
je 0x450fec
mov eax, 0xf2a2484f
mov cx, word [0x48feae]
movsx edx, cx
add edx, 0x56b37db9
cmp eax, edx
jl 0x450ecf
mov ax, word [0x48fc32]
mov cx, ax
imul ecx, ecx, 0x20c8000b
mov ax, cx
mov word [0x48fc32], ax
mov eax, 0xdef169fe
mov ecx, dword [esp + 0xc8]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
call fcn.00402b50
mov ecx, dword [0x491ffc]
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
jle 0x450f2f
mov eax, dword [0x495030]
shl eax, 3
add eax, 0xa12176a1
cmp eax, 0x8b240424
jl 0x450f2a
mov dword [0x491930], 0xb063f658
jmp 0x450f2f
mov eax, dword [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0xbc]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.0043ffd0
mov ecx, dword [0x4929e4]
mov edx, ecx
dec edx
mov dword [0x4929e4], edx
imul ecx, ecx, 0x3bce0482
cmp ecx, 0x3aa9c80c
mov dword [esp + 0x1c], eax
je 0x450f86
mov ax, word [0x4915da]
mov cx, ax
add ecx, 0x34029b66
mov ax, cx
mov word [0x4915da], ax
xor eax, eax
mov ecx, dword [esp + 0xe4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xe0]
mov dword [edx], ecx
mov ecx, dword [0x4942a8]
add ecx, 0xcf866e02
mov dword [0x4942a8], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x18], eax
call fcn.00436540
cmp eax, 0
jne 0x450fdd
mov eax, dword [esp + 0xe0]
mov dword [eax], 1
mov eax, dword [0x491904]
add eax, 0xf4e1005b
mov dword [0x491904], eax
mov word [0x490694], 0x7451
mov eax, esp
lea ecx, [esp + 0x8c]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0x98]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xa4]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xb0]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.0040d570
mov dx, word [0x4907ba]
mov ax, dx
xor eax, 0x813f
mov dx, ax
mov word [0x4907ba], dx
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xec]
add esp, 0xf0
pop esi
pop edi
ret