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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x100
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov esi, dword [esp + 0x114]
xor edi, edi
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xec], esi
mov eax, dword [0x490750]
not eax
add eax, 0x6e8b6181
and eax, 0x1a3
mov bx, word [0x4994fc]
mov cx, bx
imul ecx, eax
mov bx, cx
mov word [0x4994fc], bx
mov bx, word [0x497b3a]
mov ax, bx
add eax, 0x6cc841c
xor eax, 0xb606
mov bx, word [0x49ae26]
mov cx, bx
add ecx, eax
mov bx, cx
mov word [0x49ae26], bx
mov bx, word [0x497ef8]
mov ax, bx
inc eax
mov bp, ax
mov word [0x497ef8], bp
movsx eax, bx
mov bx, word [0x499daa]
movsx ecx, bx
mov edx, dword [0x495c20]
mov esi, edx
inc esi
mov dword [0x495c20], esi
lea ecx, [ecx + edx + 1]
and eax, ecx
mov ecx, dword [0x491cc8]
xor ecx, eax
mov dword [0x491cc8], ecx
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x78], edi
call fcn.00421a40
cmp eax, 0
jne 0x44d2ef
mov dword [esp + 0xfc], 0xfffffff4
jmp 0x44eb5f
mov eax, dword [0x490f7c]
and eax, 0xf73f6d73
mov dword [0x490f7c], eax
mov eax, esp
lea ecx, [esp + 0x9c]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xa8]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xb4]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xc0]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00438d60
mov eax, dword [0x490d08]
mov ecx, eax
inc ecx
mov dword [0x490d08], ecx
mov ecx, dword [0x490358]
mov edx, ecx
inc edx
mov dword [0x490358], edx
imul ecx, ecx, 0x9aff0b05
lea eax, [eax + ecx + 1]
mov ecx, dword [0x4976f4]
and ecx, eax
mov dword [0x4976f4], ecx
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004308f0
cmp eax, 0
jge 0x44d489
mov ax, word [0x499466]
movsx ecx, ax
mov edx, dword [0x492e9c]
mov esi, edx
dec esi
mov dword [0x492e9c], esi
lea ecx, [ecx + edx - 0x1f46ac46]
mov edx, dword [0x490344]
imul edx, ecx
mov dword [0x490344], edx
cmp dword [esp + 0xec], 0
je 0x44d408
xor eax, eax
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x74], eax
call fcn.004170c0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d403
jmp 0x44eac9
jmp 0x44d408
mov eax, dword [0x49655c]
inc eax
mov dword [0x49655c], eax
imul eax, eax, 0x473ed0de
mov ecx, dword [0x496a10]
sub ecx, eax
mov dword [0x496a10], ecx
cmp dword [esp + 0xf0], 0
je 0x44d469
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00425f60
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d464
jmp 0x44eac9
jmp 0x44d469
mov eax, dword [0x4958c4]
imul eax, eax, 0xdc07cffe
mov dword [0x4958c4], eax
mov dword [esp + 0xfc], 0
jmp 0x44eb5f
mov eax, dword [0x49323c]
xor eax, 0xffffffff
and eax, 0x53001507
cmp eax, 0x4da22ea6
jle 0x44d4b5
mov eax, dword [0x4945a8]
and eax, 0x4e58f89c
mov dword [0x4945a8], eax
jmp 0x44d4eb
mov eax, 0x3d40ed0b
mov ecx, dword [0x495bf0]
add ecx, 0x137848b
cmp eax, ecx
jne 0x44d4e6
mov ax, word [0x498d2e]
mov cx, ax
or ecx, 0x2cd7
mov ax, cx
mov word [0x498d2e], ax
jmp 0x44d4eb
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00425f60
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d51a
jmp 0x44eac9
lea eax, [esp + 0xc0]
mov ecx, dword [0x49358c]
and ecx, 0xd4d5c15a
mov dword [0x49358c], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00425f60
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d55b
jmp 0x44eac9
mov ax, word [0x497e68]
movsx ecx, ax
shl ecx, 9
and ecx, 0xb43cd400
mov edx, dword [0x4915f0]
xor edx, ecx
mov dword [0x4915f0], edx
mov dword [esp + 0xc0], 1
mov dword [esp + 0xcc], 1
mov ecx, dword [0x490a08]
dec ecx
mov dword [0x490a08], ecx
imul ecx, ecx, 0x10524cd9
imul ecx, ecx, 0x2ee9c19f
cmp ecx, 0x78b37ab9
jne 0x44d5ff
mov eax, dword [0x495b70]
mov ecx, 0x59b2b06a
sub ecx, eax
mov dx, word [0x498ce0]
movsx eax, dx
imul eax, eax, 0x2a0a2762
mov esi, dword [0x4971e8]
or eax, esi
cmp ecx, eax
jge 0x44d5fa
mov ax, word [0x498438]
mov cx, ax
and ecx, 0xadd3
mov ax, cx
mov word [0x498438], ax
jmp 0x44d5ff
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0xf4]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043e600
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d634
jmp 0x44eac9
lea eax, [esp + 0xb4]
xor ecx, ecx
mov edx, dword [0x495fbc]
add edx, 0x34f71eec
xor edx, 0xf6399490
mov dword [0x4951e4], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x70], ecx
call fcn.004170c0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d67e
jmp 0x44eac9
mov eax, 0x19349faf
mov ecx, dword [0x4930d8]
mov edx, dword [0x4924a0]
xor edx, 0xffffffff
add ecx, edx
cmp eax, ecx
je 0x44d6ab
mov eax, dword [0x49612c]
and eax, 0xf170b450
mov dword [0x49612c], eax
lea eax, [esp + 0xa8]
mov ecx, 2
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x6c], ecx
call fcn.0043e600
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d6e0
jmp 0x44eac9
lea eax, [esp + 0x9c]
mov ecx, 3
mov edx, dword [0x49653c]
or edx, 0x466bc8d8
mov dword [0x49653c], edx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x68], ecx
call fcn.0043e600
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d727
jmp 0x44eac9
mov eax, dword [0x4941c4]
shl eax, 7
mov ecx, dword [0x496a38]
lea eax, [eax + ecx - 0x7be25c13]
mov dword [0x496a38], eax
mov eax, esp
lea ecx, [esp + 0xc0]
mov dword [eax], ecx
call fcn.0043e470
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xd8], eax
mov si, word [0x49981c]
mov ax, si
mov ecx, eax
dec ecx
mov si, cx
mov word [0x49981c], si
mov ecx, dword [0x4912bc]
imul eax, ecx
add eax, 0xbd89c1cb
mov si, word [0x497d70]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x497d70], si
cmp dword [esp + 0xd8], 0x1f
jge 0x44d8b6
mov eax, dword [0x492d70]
dec eax
mov dword [0x492d70], eax
mov ecx, dword [0x4941b4]
imul ecx, ecx, 0xfaa8605e
or eax, ecx
cmp eax, 0xbc47f5fe
jle 0x44d7fa
mov ax, word [0x49b0b2]
movsx ecx, ax
add ecx, 0x83261c35
and ecx, 0x61c151de
mov edx, dword [0x49772c]
add edx, ecx
mov dword [0x49772c], edx
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xd8]
mov edx, 0x1f
sub edx, ecx
mov dword [esp + 0xd8], edx
mov ecx, dword [0x490ac8]
or ecx, 0xf41bb959
mov dword [0x495228], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408dc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d850
jmp 0x44eac9
lea eax, [esp + 0xc0]
mov cx, word [0x49b21e]
mov dx, cx
imul edx, edx, 0x18012
mov cx, dx
mov word [0x49b21e], cx
mov edx, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00408dc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44d899
jmp 0x44eac9
mov eax, dword [0x496a30]
add eax, 0xe79dd9f9
mov ecx, dword [0x493e00]
xor ecx, eax
mov dword [0x493e00], ecx
jmp 0x44d8c1
mov dword [esp + 0xd8], 0
mov eax, 0x63e28c16
mov ecx, dword [0x491200]
mov edx, ecx
inc edx
mov dword [0x491200], edx
xor ecx, 0x6e40603a
cmp eax, ecx
jg 0x44d915
mov eax, dword [0x49670c]
mov ecx, eax
inc ecx
mov dword [0x49670c], ecx
or eax, 0x2738e44a
cmp eax, 0x5ceca079
jle 0x44d910
mov eax, dword [0x491688]
and eax, 0xfcfeaf7f
mov dword [0x491688], eax
jmp 0x44d915
mov eax, dword [esp + 0xd0]
dec eax
mov dword [esp + 0xe0], eax
mov eax, dword [0x494350]
mov ecx, dword [0x495510]
xor ecx, 0x963bfccf
cmp eax, ecx
jl 0x44d950
mov eax, dword [0x493c2c]
mov ecx, dword [0x495804]
sub ecx, eax
mov dword [0x495804], ecx
mov eax, 0x8fd90138
mov ecx, dword [esp + 0xc4]
dec ecx
mov dword [esp + 0xdc], ecx
mov dx, word [0x499e98]
mov cx, dx
dec ecx
mov si, cx
mov word [0x499e98], si
movsx ecx, dx
or ecx, 0xfd9983e8
mov edi, dword [0x49210c]
sub edi, ecx
mov dword [0x49210c], edi
mov ecx, dword [esp + 0xe0]
mov edi, dword [esp + 0xdc]
sub ecx, edi
shl ecx, 5
mov edi, esp
mov dword [edi + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [edi], ecx
mov dword [esp + 0x64], eax
call fcn.00408dc0
mov dx, word [0x49a948]
movsx ecx, dx
and ecx, 0xd0a63fff
and ecx, 0xd61351b4
mov edi, dword [esp + 0x64]
cmp edi, ecx
mov dword [esp + 0x60], eax
jg 0x44da05
mov eax, dword [0x493734]
mov ecx, eax
inc ecx
mov dword [0x493734], ecx
and eax, 0xa0c80110
mov ecx, dword [0x495e20]
or eax, ecx
or eax, 0x5c25f26a
mov dword [0x495e20], eax
jmp 0x44da0a
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xc0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00433150
cmp eax, 0
jl 0x44dab8
mov eax, 0x14f035bb
mov ecx, dword [0x495fc4]
xor ecx, 0xffffffff
cmp eax, ecx
jle 0x44da53
mov eax, dword [0x4965a8]
imul eax, eax, 0xa11b840c
mov dword [0x4965a8], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
sub eax, ecx
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + eax*4]
inc edx
mov dword [ecx + eax*4], edx
mov eax, dword [0x494bbc]
xor eax, 0xfe6f764a
mov dword [0x494bbc], eax
mov eax, esp
lea ecx, [esp + 0xc0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xcc]
mov dword [eax + 4], ecx
mov dword [eax], ecx
call fcn.0044cee0
mov ecx, dword [0x492d0c]
add ecx, 0xf415192b
mov dword [0x492d0c], ecx
mov dword [esp + 0x5c], eax
jmp 0x44da0a
mov eax, dword [0x495ebc]
mov ecx, 0xc02d0bea
sub ecx, eax
mov dword [0x496f58], ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xc0]
mov dword [ecx], eax
call fcn.00413b20
mov ecx, dword [0x496dfc]
and ecx, 0x21010
mov dword [0x496dfc], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xe4]
cmp eax, dword [esp + 0xdc]
jle 0x44e860
mov eax, dword [0x4975c0]
xor eax, 0x42c34836
mov dword [0x4975c0], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xc8]
cmp eax, dword [edx + ecx*4]
jb 0x44db83
mov eax, dword [esp + 0xe4]
sub eax, dword [esp + 0xdc]
sub eax, 1
mov ecx, dword [esp + 0xbc]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x44e21a
mov eax, 0xc9901232
mov ecx, dword [0x4951d4]
shl ecx, 3
xor ecx, 0x702ab81b
cmp eax, ecx
jle 0x44dbb8
mov eax, dword [0x491234]
imul eax, eax, 0x5aef9300
mov ecx, dword [0x493780]
sub ecx, eax
mov dword [0x493780], ecx
mov eax, dword [0x493920]
or eax, 0x7dea7ef9
mov dword [0x493920], eax
mov eax, dword [0x493ba4]
mov ecx, eax
inc ecx
mov dword [0x493ba4], ecx
add eax, 0x1923f400
mov ecx, dword [0x490850]
or ecx, eax
mov dword [0x490850], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x80], eax
mov eax, dword [0x493684]
imul eax, eax, 0x28100e9c
mov dword [0x493684], eax
movzx eax, word [esp + 0x80]
mov dword [esp + 0x88], eax
mov eax, dword [0x49363c]
add eax, 0x47bbce15
mov dword [0x49363c], eax
movzx eax, word [esp + 0x82]
mov dword [esp + 0x84], eax
mov eax, dword [0x494bc8]
xor eax, 0xf8f7d17e
mov dword [0x494bc8], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x84]
xor edx, edx
div ecx
mov dword [esp + 0x94], eax
mov eax, dword [0x49127c]
xor eax, 0x457babfe
mov ecx, dword [0x4967cc]
sub ecx, eax
mov dword [0x4967cc], ecx
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x94]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x8c], eax
mov si, word [0x4998b0]
mov ax, si
add eax, 0x7f460a64
mov si, ax
mov word [0x4998b0], si
mov eax, dword [esp + 0x8c]
shl eax, 0x10
mov dword [esp + 0x8c], eax
mov eax, dword [0x495968]
inc eax
mov dword [0x495968], eax
mov ecx, dword [0x4957e4]
xor eax, ecx
xor eax, 0x5f4e6e59
mov dword [0x4957e4], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x8c]
or ecx, eax
mov dword [esp + 0x8c], ecx
mov dword [0x493f6c], 0x6eb6f7fc
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x88]
imul eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [0x491680]
sar eax, 1
add eax, 0xe27aabad
mov ecx, dword [0x493948]
imul ecx, eax
mov dword [0x493948], ecx
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x7c]
jae 0x44deb7
mov ax, word [0x499aac]
mov cx, ax
or ecx, 0x2518
mov ax, cx
mov word [0x499aac], ax
mov ecx, dword [esp + 0x94]
dec ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
add edx, ecx
mov dword [esp + 0x8c], edx
mov ecx, dword [0x490600]
mov edx, ecx
dec edx
mov dword [0x490600], edx
or ecx, 0x53ff
mov ax, word [0x499aa4]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x499aa4], ax
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x80]
mov byte [esp + 0x57], cl
jb 0x44ddfd
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x7c]
setb cl
mov byte [esp + 0x57], cl
mov al, byte [esp + 0x57]
test al, 1
jne 0x44de0e
jmp 0x44de39
mov eax, dword [esp + 0x94]
add eax, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x8c], eax
jmp 0x44ddcf
mov eax, 0x17ed6f93
mov ecx, dword [0x493e2c]
inc ecx
mov dword [0x493e2c], ecx
mov edx, dword [0x49013c]
shl edx, 3
add ecx, edx
cmp eax, ecx
jle 0x44deb2
mov eax, dword [0x494658]
mov ecx, eax
dec ecx
mov dword [0x494658], ecx
add eax, 0x86f64b4e
mov ecx, dword [0x495068]
sar ecx, 3
xor eax, ecx
mov ecx, dword [0x493c8c]
shl ecx, 9
mov edx, dword [0x493a60]
shl edx, 1
xor ecx, edx
xor ecx, 0x3cb50220
cmp eax, ecx
jl 0x44dead
mov eax, dword [0x491fb4]
add eax, 0x9d73ddfe
mov dword [0x491fb4], eax
jmp 0x44deb2
jmp 0x44deb7
mov eax, 0xc0021efa
mov ecx, dword [0x49072c]
shl ecx, 4
add ecx, 0xb79e774c
mov edx, dword [0x495464]
and edx, ecx
mov dword [0x495464], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
sub edx, ecx
mov dword [esp + 0x8c], edx
mov ecx, dword [0x49652c]
imul ecx, ecx, 0x16ddac00
and ecx, 0x8e286c00
mov dword [0x49691c], ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x84]
xor esi, esi
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov edx, esi
mov ecx, dword [esp + 0x4c]
div ecx
mov dword [esp + 0x98], eax
mov di, word [0x498912]
mov ax, di
or eax, 0x3348
mov di, ax
mov word [0x498912], di
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x98]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x90], eax
mov di, word [0x49b16c]
mov ax, di
and eax, 0x9935
mov di, ax
mov word [0x49b16c], di
mov eax, dword [esp + 0x90]
shl eax, 0x10
mov dword [esp + 0x90], eax
mov eax, dword [0x492668]
or eax, 0xad8790bf
mov dword [0x492668], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x90]
or ecx, eax
mov dword [esp + 0x90], ecx
mov di, word [0x499c76]
movsx eax, di
add eax, 0xdec51d2b
xor eax, 0x981829b6
mov dword [0x48ffc0], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x88]
imul eax, ecx
mov dword [esp + 0x7c], eax
mov di, word [0x49adf0]
movsx eax, di
shl eax, 5
and eax, 0x36984325
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jne 0x44e027
mov eax, dword [0x494e8c]
mov ecx, dword [0x49192c]
xor eax, ecx
xor eax, 0x8a40d440
mov dword [0x49192c], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x7c]
jae 0x44e149
mov eax, 0x5b840bca
mov ecx, dword [0x492190]
mov edx, ecx
dec edx
mov dword [0x492190], edx
mov edx, dword [0x49612c]
imul edx, ecx
shl edx, 8
or edx, 0xbdc4
mov si, word [0x4994e6]
mov cx, si
xor ecx, edx
mov si, cx
mov word [0x4994e6], si
mov ecx, dword [esp + 0x98]
dec ecx
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x90]
add edx, ecx
mov dword [esp + 0x90], edx
mov ecx, dword [0x4975b0]
sar ecx, 5
cmp eax, ecx
jl 0x44e0cb
mov eax, dword [0x492ee0]
xor eax, 0x8328
mov cx, word [0x49a592]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49a592], cx
jmp 0x44e0d0
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x80]
mov byte [esp + 0x4b], cl
jb 0x44e0fe
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x7c]
setb cl
mov byte [esp + 0x4b], cl
mov al, byte [esp + 0x4b]
test al, 1
jne 0x44e10f
jmp 0x44e13a
mov eax, dword [esp + 0x98]
add eax, 0xffffffff
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x90]
mov dword [esp + 0x90], eax
jmp 0x44e0d0
mov eax, dword [0x4948c8]
or eax, 0x2c177479
mov dword [0x4948c8], eax
mov eax, dword [0x494348]
xor eax, 0x3d04d09
or eax, 0xf427a2c6
mov ecx, dword [0x49599c]
xor ecx, eax
mov dword [0x49599c], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
sub ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [0x494f44]
cmp eax, 0xb34ec0b8
jl 0x44e1b8
mov eax, dword [0x4937f8]
shl eax, 7
imul eax, eax, 0x60a895da
cmp eax, 0xb8476aa
jne 0x44e1b3
mov eax, dword [0x493374]
imul eax, eax, 0xcca24711
mov dword [0x493374], eax
jmp 0x44e1d8
mov eax, dword [0x492bfc]
add eax, 0x153b2ab6
mov ecx, dword [0x4954b8]
or eax, ecx
mov ecx, dword [0x490f94]
or ecx, eax
mov dword [0x490f94], ecx
mov eax, dword [esp + 0x94]
shl eax, 0x10
mov ecx, dword [esp + 0x98]
or eax, ecx
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xdc]
sub ecx, edx
mov edx, dword [esp + 0xbc]
mov dword [edx + ecx*4 - 4], eax
mov si, word [0x49a956]
movsx eax, si
and eax, 0x468bad3
mov dword [0x4925c0], eax
mov eax, dword [0x490228]
and eax, 0x7ec6
mov cx, word [0x4981da]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4981da], cx
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0xdc]
sub eax, edx
mov edx, dword [esp + 0xbc]
mov esi, dword [edx + eax*4 - 4]
inc esi
mov dword [edx + eax*4 - 4], esi
mov eax, dword [0x493ab4]
inc eax
mov dword [0x493ab4], eax
imul eax, eax, 0x15e9570
mov edx, dword [0x49616c]
and edx, eax
mov dword [0x49616c], edx
lea eax, [esp + 0xa8]
xor ecx, ecx
mov dx, word [0x497b5e]
mov si, dx
inc esi
mov dx, si
mov word [0x497b5e], dx
movsx esi, dx
mov edi, dword [0x496b00]
xor esi, edi
xor esi, 0x60cf9368
mov dword [0x496b00], esi
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xdc]
sub esi, edi
mov edi, dword [esp + 0xbc]
mov ebx, dword [edi + esi*4 - 4]
dec ebx
mov dword [edi + esi*4 - 4], ebx
mov esi, dword [0x4915a0]
mov edi, esi
inc edi
mov dword [0x4915a0], edi
mov edi, dword [0x4964d0]
mov ebx, edi
inc ebx
mov dword [0x4964d0], ebx
imul edi, edi, 0xc952a363
add esi, edi
mov edi, dword [0x494390]
imul edi, esi
mov dword [0x494390], edi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.004170c0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e32c
jmp 0x44eac9
mov eax, dword [0x495d34]
add eax, 0x777fcafc
mov ecx, dword [0x4958e4]
or eax, ecx
or eax, 0x51d3dda
mov dword [0x4958e4], eax
cmp dword [esp + 0xdc], 1
jge 0x44e361
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x44e379
mov eax, dword [esp + 0xdc]
sub eax, 1
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov ecx, 0x729730b7
mov edx, dword [esp + 0xb0]
mov dword [edx], eax
mov eax, dword [0x49116c]
and eax, 0x634e54be
cmp ecx, eax
jne 0x44e3cf
mov eax, dword [0x4963b4]
mov ecx, eax
inc ecx
mov dword [0x4963b4], ecx
mov ecx, dword [0x493db8]
imul eax, ecx
inc ecx
mov dword [0x493db8], ecx
imul eax, eax, 0xbb1e9ef8
mov ecx, dword [0x493dd0]
sub ecx, eax
mov dword [0x493dd0], ecx
lea eax, [esp + 0xa8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], ecx
mov ecx, dword [0x4942b4]
add ecx, 0x4baf1670
mov dword [0x4942b4], ecx
mov ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0xdc]
sub ecx, 1
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00449bc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e443
jmp 0x44eac9
lea eax, [esp + 0x9c]
xor ecx, ecx
mov edx, dword [0x49490c]
mov esi, edx
dec esi
mov dword [0x49490c], esi
mov di, word [0x499496]
mov si, di
add esi, edx
mov di, si
mov word [0x499496], di
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.004170c0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e49a
jmp 0x44eac9
mov eax, dword [0x4901a4]
and eax, 0x3b23d147
mov dword [0x4901a4], eax
cmp dword [esp + 0xe4], 2
jge 0x44e4c2
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x44e4da
mov eax, dword [esp + 0xe4]
sub eax, 2
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa4]
mov dword [ecx], eax
mov dx, word [0x499b96]
mov ax, dx
xor eax, 0x6a54
mov dx, ax
mov word [0x499b96], dx
cmp dword [esp + 0xe4], 1
jge 0x44e519
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x44e531
mov eax, dword [esp + 0xe4]
sub eax, 1
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 4], eax
mov eax, dword [0x49603c]
or eax, 0x58c15d0c
mov dword [0x49603c], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 8], eax
mov dx, word [0x497c9a]
movsx eax, dx
mov ecx, dword [0x494e34]
lea eax, [eax + ecx - 0x7ce112a7]
mov dword [0x494e34], eax
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00433150
cmp eax, 0
jg 0x44e279
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xc0]
mov dx, word [0x49853c]
mov si, dx
and esi, 0x5039
mov dx, si
mov word [0x49853c], dx
mov esi, dword [esp + 0xe4]
sub esi, dword [esp + 0xdc]
sub esi, 1
mov edi, dword [esp + 0xbc]
mov esi, dword [edi + esi*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00449bc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e610
jmp 0x44eac9
lea eax, [esp + 0xa8]
mov ecx, dword [0x493d00]
add ecx, 0x70a556a1
mov dword [0x493d00], ecx
mov ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0xdc]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408dc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e65e
jmp 0x44eac9
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xa8]
mov dword [0x493330], 0x525ce1b
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044cee0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e69b
jmp 0x44eac9
lea eax, [esp + 0xcc]
xor ecx, ecx
mov edx, dword [0x493bfc]
sar edx, 0xa
mov esi, dword [0x4920cc]
sub esi, edx
mov dword [0x4920cc], esi
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.00421a40
cmp eax, 0
jge 0x44e83b
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xc0]
mov dword [0x494628], 0xf32da3e2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00425f60
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e711
jmp 0x44eac9
mov eax, 0xfff56f5f
mov cx, word [0x499bb2]
movsx edx, cx
sar edx, 0xa
cmp eax, edx
jne 0x44e75c
mov ax, word [0x49a714]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49a714], dx
movsx ecx, ax
add ecx, 0xff24b9ac
mov esi, dword [0x4913e4]
imul esi, ecx
mov dword [0x4913e4], esi
jmp 0x44e76b
mov eax, dword [0x491270]
add eax, 0x84008225
mov dword [0x491270], eax
lea eax, [esp + 0xa8]
mov ecx, dword [esp + 0xe4]
sub ecx, dword [esp + 0xdc]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408dc0
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e7a7
jmp 0x44eac9
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xa8]
mov edx, dword [0x492bc4]
mov esi, edx
dec esi
mov dword [0x492bc4], esi
mov esi, dword [0x490564]
xor edx, esi
xor edx, 0x374741b1
mov dword [0x490564], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0042e220
mov dword [esp + 0xe8], eax
cmp eax, 0
je 0x44e7fd
jmp 0x44eac9
mov eax, dword [0x49550c]
add eax, 0x42508431
mov dword [0x49550c], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xdc]
sub eax, ecx
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + eax*4 - 4]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x495638]
xor eax, 0xfda2f470
mov dword [0x495638], eax
mov eax, dword [0x4935fc]
or eax, 0x5ca973bb
mov dword [0x4935fc], eax
mov eax, dword [esp + 0xe4]
add eax, 0xffffffff
mov dword [esp + 0xe4], eax
jmp 0x44db14
mov eax, dword [0x494510]
mov ecx, eax
dec ecx
mov dword [0x494510], ecx
add eax, 0x8603c51e
mov dx, word [0x49921e]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x49921e], dx
cmp dword [esp + 0xec], 0
je 0x44e922
mov eax, 0x8bf21cbf
mov ecx, dword [0x496d70]
mov edx, ecx
dec edx
mov dword [0x496d70], edx
cmp eax, ecx
jge 0x44e8c2
mov eax, dword [0x494d5c]
add eax, 0x2c6197cf
mov dword [0x494d5c], eax
mov eax, dword [esp + 0xec]
mov ecx, esp
lea edx, [esp + 0xb4]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00425f60
mov ecx, dword [0x4971d0]
add ecx, 0xc50f7209
mov dword [0x4971d0], ecx
mov ecx, dword [esp + 0xf4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf8]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xec]
mov dword [edx], ecx
mov ecx, dword [0x4926c0]
or ecx, 0x8de7cbe5
mov dword [0x4926c0], ecx
mov dword [esp + 0x2c], eax
mov ax, word [0x4999de]
movsx ecx, ax
shr ecx, 7
add ecx, 0xd7217f34
mov ax, cx
mov word [0x498c20], ax
cmp dword [esp + 0xf0], 0
je 0x44ea9c
mov eax, 0xf09e446a
mov ecx, dword [0x49160c]
inc ecx
mov dword [0x49160c], ecx
cmp eax, ecx
jle 0x44e97d
mov ax, word [0x497c68]
mov cx, ax
add ecx, 0x8d268415
mov ax, cx
mov word [0x497c68], ax
xor eax, eax
mov ecx, dword [esp + 0xd8]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xcc]
mov dword [edx], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
call fcn.00413b20
mov ecx, dword [0x49399c]
not ecx
and ecx, 0x17e4
xor ecx, 0xe12e
mov si, word [0x498bf8]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x498bf8], si
mov ecx, dword [esp + 0xf0]
mov edx, esp
mov edi, dword [esp + 0x24]
mov dword [edx + 4], edi
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00425f60
mov ecx, dword [0x496070]
mov edx, 0xb17e2aa1
sub edx, ecx
mov ecx, dword [0x494818]
and ecx, edx
mov dword [0x494818], ecx
mov ecx, dword [esp + 0xf4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov ecx, dword [0x4920b8]
imul ecx, ecx, 0x40597968
add ecx, 0x6b42acfc
mov edx, dword [0x491064]
and edx, ecx
mov dword [0x491064], edx
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x1c], eax
call fcn.00421a40
cmp eax, 0
jne 0x44ea65
mov eax, dword [esp + 0xf0]
mov dword [eax], 1
mov eax, dword [0x495454]
or eax, 0x2545b2fe
cmp eax, 0x58d9b19b
jl 0x44ea97
mov ax, word [0x498b30]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x498b30], dx
movsx ecx, ax
mov dword [0x49411c], ecx
jmp 0x44ea9c
mov eax, 0xc5e48765
mov ecx, dword [0x492234]
and ecx, 0xb4a57e82
cmp eax, ecx
jne 0x44eac4
mov eax, dword [0x493628]
add eax, 0x279a02d6
mov dword [0x493628], eax
jmp 0x44eac9
mov eax, 0x62008560
mov ecx, esp
lea edx, [esp + 0x9c]
mov dword [ecx + 0x10], edx
lea edx, [esp + 0xa8]
mov dword [ecx + 0xc], edx
lea edx, [esp + 0xb4]
mov dword [ecx + 8], edx
lea edx, [esp + 0xc0]
mov dword [ecx + 4], edx
lea edx, [esp + 0xcc]
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
mov dword [esp + 0x18], eax
call fcn.00428910
mov si, word [0x497b66]
movsx eax, si
and eax, 0xe9013e51
xor eax, 0xe091b43c
mov ecx, dword [esp + 0x18]
cmp ecx, eax
je 0x44eb51
mov eax, dword [0x4931f8]
add eax, 0xcd65a4da
mov cx, word [0x49823e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x49823e], cx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xfc]
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret