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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x594
mov eax, dword [0x4adb88]
mov ecx, eax
dec ecx
mov dword [0x4adb88], ecx
mov ecx, dword [0x49ca58]
not ecx
add eax, ecx
mov ecx, dword [0x4a59e4]
sar ecx, 6
imul ecx, ecx, 0x45cbb498
xor ecx, 0x39926120
cmp eax, ecx
jne 0x44f15e
mov eax, dword [0x4a8360]
imul eax, eax, 0xd6a18c1a
mov dword [0x4a8360], eax
lea ecx, [esp + 0x554]
call fcn.00412ee0
mov dx, word [0x492538]
mov cx, dx
and ecx, 0xf0fc
mov dx, cx
mov word [0x492538], dx
mov ecx, dword [0x4a9fd4]
mov dx, word [0x492d44]
movsx esi, dx
shl esi, 0xa
sub ecx, esi
xor ecx, 0xf134aa9c
mov esi, dword [0x4a76c0]
xor esi, 0xffffffff
cmp ecx, esi
mov dword [esp + 0x114], eax
jge 0x44f1c7
mov eax, dword [0x4a2dfc]
imul eax, eax, 0x293c1b8
mov dword [0x4a2dfc], eax
mov eax, dword [0x49d974]
and eax, 0x62c4c00a
mov dword [0x49d974], eax
mov eax, dword [0x4a6960]
mov ecx, eax
dec ecx
mov dword [0x4a6960], ecx
xor eax, 0xf7c62153
mov ecx, dword [0x4aa508]
shl ecx, 3
cmp eax, ecx
jg 0x44f204
mov eax, dword [0x4ad410]
mov dword [0x4ae830], eax
mov dword [esp + 0x118], 0
mov eax, dword [0x4a393c]
and eax, 0xdefb7ffc
mov dword [0x4a393c], eax
mov dword [0x4b079c], 0x94
mov eax, dword [0x4aaa88]
add eax, 0x60b95572
or eax, 0x3ba0
mov cx, word [0x497d74]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x497d74], cx
mov eax, dword [0x490cc0]
mov edx, esp
mov dword [edx], 0x4b079c
call eax
sub esp, 4
mov edx, dword [0x4a8218]
add edx, 0xd0e5e2c0
mov dword [0x4a8218], edx
mov dword [esp + 0x110], eax
call fcn.00411700
mov dword [0x4b1050], eax
mov eax, dword [0x4aaed4]
xor eax, 0x90d38900
or eax, 0x6d2c160c
mov edx, dword [0x4a9178]
imul edx, eax
mov dword [0x4a9178], edx
call fcn.004458d0
mov dword [0x4b1054], eax
mov eax, dword [0x4a60f8]
add eax, 0x699d944e
mov dword [0x4a60f8], eax
mov eax, dword [0x4b1050]
cmp eax, 0
je 0x44f5a3
mov eax, 0x501600c0
mov cx, word [0x492694]
mov dx, cx
dec edx
mov si, dx
mov word [0x492694], si
movsx edx, cx
cmp eax, edx
jge 0x44f318
mov eax, dword [0x49d25c]
mov ecx, eax
inc ecx
mov dword [0x49d25c], ecx
mov ecx, dword [0x4a6a88]
add ecx, ecx
neg ecx
lea eax, [eax + ecx + 1]
mov ecx, dword [0x4ae6fc]
imul ecx, eax
mov dword [0x4ae6fc], ecx
mov eax, 0x7e7177a2
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x10c], eax
call fcn.00411f20
mov dword [esp + 0x124], eax
mov eax, dword [0x4abb14]
not eax
mov ecx, dword [0x49fb64]
and eax, ecx
and eax, 0x4a01401
mov dword [0x49fb64], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12b], 0x5c
mov si, word [0x49adb6]
movsx eax, si
sub eax, 0x35c24690
and eax, 0xcecf5b36
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
jl 0x44f3f6
mov eax, 0x29a04855
mov ecx, dword [0x49b7b8]
sar ecx, 8
and ecx, 0x56c34a88
xor ecx, 0xbcbd4932
cmp eax, ecx
jg 0x44f3c7
mov eax, dword [0x49fed4]
add eax, 0xdfb3ff1e
cmp eax, 0x14a61dbe
jne 0x44f3c2
jmp 0x44f3c2
jmp 0x44f3f1
mov eax, 0xe71b2234
mov ecx, dword [0x49e374]
mov edx, dword [0x4b0100]
sub ecx, edx
cmp eax, ecx
jg 0x44f3e7
jmp 0x44f3ec
jmp 0x44f3ec
jmp 0x44f3f1
jmp 0x44f3f6
mov eax, 0x42d36d10
mov ecx, dword [esp + 0x124]
inc ecx
mov dword [esp + 0x124], ecx
mov ecx, dword [0x49c130]
cmp eax, ecx
jg 0x44f427
mov eax, dword [0x4a7b40]
and eax, 0xfdb8bb36
mov dword [0x4a7b40], eax
mov eax, 0xdf99ff9f
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov dx, word [0x4980ac]
mov cx, dx
and ecx, 0x7fe7
mov dx, cx
mov word [0x4980ac], dx
mov ecx, dword [0x4b1090]
mov esi, esp
mov dword [esi + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [esi], ecx
mov dword [esp + 0x108], eax
call fcn.004559f0
mov dx, word [0x493698]
movsx ecx, dx
shl ecx, 8
mov esi, dword [esp + 0x108]
cmp esi, ecx
mov dword [esp + 0x104], eax
jge 0x44f4a8
mov eax, dword [0x4a7324]
imul eax, eax, 0x5cb37e57
mov dword [0x4a7324], eax
mov eax, dword [0x490d08]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x100], edx
call eax
sub esp, 8
mov ecx, dword [0x49d3b8]
and ecx, 0x7920f040
mov dword [0x49d3b8], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x486
mov dword [esp + 0xfc], eax
call fcn.00410180
mov dword [esp + 0x590], eax
mov si, word [0x494964]
mov ax, si
dec eax
mov di, ax
mov word [0x494964], di
movsx eax, si
mov ecx, dword [0x4a3e54]
and eax, ecx
mov ecx, dword [0x4a6054]
xor ecx, eax
mov dword [0x4a6054], ecx
mov eax, dword [esp + 0x590]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x100]
mov dword [ecx], eax
call fcn.004559f0
mov si, word [0x4984ac]
mov cx, si
xor ecx, 0xf8fb
mov si, cx
mov word [0x4984ac], si
mov ecx, dword [esp + 0x590]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xf8], eax
call fcn.0044f050
mov si, word [0x49b44e]
movsx eax, si
not eax
or eax, 0xa2900524
mov ecx, dword [0x4a9b6c]
sub ecx, eax
mov dword [0x4a9b6c], ecx
jmp 0x44f62a
mov eax, 0x5f66edfb
mov cx, word [0x491758]
movsx edx, cx
not edx
mov esi, dword [0x49cd64]
or esi, edx
mov dword [0x49cd64], esi
mov byte [esp + 0x12b], 0
mov edx, dword [0x4acc5c]
inc edx
mov dword [0x4acc5c], edx
mov esi, dword [0x49f8b8]
sub edx, esi
mov esi, dword [0x4a2a64]
shl esi, 4
add edx, esi
cmp eax, edx
jle 0x44f616
mov eax, dword [0x4abab4]
dec eax
mov dword [0x4abab4], eax
and eax, 0xdf0854ba
mov ecx, dword [0x4a5850]
imul ecx, eax
mov dword [0x4a5850], ecx
jmp 0x44f625
mov eax, dword [0x4af1b4]
xor eax, 0x601cb70c
mov dword [0x4af1b4], eax
jmp 0x44f62a
mov eax, 0x6b5a23c9
mov cx, word [0x4921d6]
movsx edx, cx
mov cx, word [0x4962fa]
movsx esi, cx
sar esi, 3
imul esi, esi, 0xda83b0a7
add edx, esi
cmp eax, edx
jg 0x44f665
mov eax, dword [0x4ab064]
or eax, 0xc0010010
mov dword [0x4ab064], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x36c6
call fcn.00410180
mov dword [esp + 0x58c], eax
mov eax, dword [0x4a0fe4]
add eax, 0x31080010
mov dword [0x4a0fe4], eax
mov eax, dword [esp + 0x58c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x554]
call fcn.004322a0
sub esp, 4
mov dx, word [0x494990]
movsx ecx, dx
and ecx, 0x8c73ce56
or ecx, 0x846badd8
cmp ecx, 0x85e04006
mov dword [esp + 0xf4], eax
jne 0x44f73b
mov eax, dword [0x4a618c]
inc eax
mov dword [0x4a618c], eax
mov ecx, dword [0x4a3f08]
inc ecx
and eax, ecx
mov dword [0x4a3f08], ecx
and eax, 0x8563763f
mov dx, word [0x496e04]
mov cx, dx
inc ecx
mov si, cx
mov word [0x496e04], si
movsx ecx, dx
sub ecx, 0xba6cebc0
cmp eax, ecx
jg 0x44f736
mov ax, word [0x4917c4]
movsx ecx, ax
not ecx
imul ecx, ecx, 0x614bf9fe
mov edx, dword [0x4ab4dc]
add edx, ecx
mov dword [0x4ab4dc], edx
jmp 0x44f73b
lea eax, [esp + 0x554]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x58c]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
call fcn.0044f050
mov eax, dword [0x49e124]
add eax, 0xad46301c
mov dword [0x49e124], eax
mov eax, dword [esp + 0xf0]
mov ecx, eax
call fcn.00439540
lea ecx, [esp + 0x554]
mov dword [esp + 0xe8], eax
call fcn.0041c5a0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe4], ecx
call fcn.00417900
cmp eax, 0
je 0x44f8c5
mov eax, 0xff95f7ff
mov ecx, dword [0x4a15c8]
mov edx, dword [0x4a7ac4]
imul edx, ecx
mov dword [0x4a7ac4], edx
mov dword [esp + 0x118], 1
mov ecx, dword [0x4a9ea8]
add ecx, 0x3982a8ee
mov edx, dword [0x49e3e0]
and ecx, edx
and ecx, 0x60a7d997
mov dword [0x49e3e0], ecx
mov ecx, dword [0x490c94]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [esp + 0xe0], eax
call ecx
sub esp, 4
mov di, word [0x4991de]
mov cx, di
add ecx, 0x151081fb
mov di, cx
mov word [0x4991de], di
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov ecx, dword [0x4a6c30]
mov edx, dword [esp + 0xe0]
cmp edx, ecx
mov dword [esp + 0xdc], eax
jge 0x44f88f
mov eax, dword [0x4a8a00]
and eax, 0x58caa706
mov dword [0x4a8a00], eax
mov eax, dword [0x490d0c]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x4922e4]
mov cx, si
add ecx, 0x43c5fefa
mov si, cx
mov word [0x4922e4], si
mov dword [esp + 0xd8], eax
mov eax, dword [0x4b05e8]
mov ecx, eax
dec ecx
mov dword [0x4b05e8], ecx
mov dx, word [0x49167a]
mov cx, dx
lea eax, [ecx + eax - 1]
mov dx, ax
mov word [0x49167a], dx
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
mov dword [esp + 0xd4], ecx
call fcn.00411f20
mov dword [0x49eddc], 0x93602004
mov byte [esp + 0x12e], 0
mov dx, word [0x49b440]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49b440], si
movsx ecx, dx
mov edi, dword [0x4a18d0]
sub edi, ecx
mov dword [0x4a18d0], edi
mov ecx, dword [0x4b1090]
mov edi, esp
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0xd4]
mov dword [edi], ecx
mov dword [esp + 0xd0], eax
call fcn.004559f0
mov ecx, dword [0x4a9c74]
or ecx, 0x4f14c40
mov dword [0x49c7fc], ecx
mov ecx, dword [0x490d08]
mov edi, esp
mov ebx, dword [esp + 0xd4]
mov dword [edi], ebx
mov dword [edi + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov ecx, dword [0x4a3bb4]
add ecx, 0x88e5d062
mov dword [0x4a3bb4], ecx
mov ecx, esp
mov edi, dword [esp + 0xd4]
mov dword [ecx + 4], edi
mov dword [ecx], 0x4b0980
mov dword [esp + 0xc8], eax
call fcn.004559e0
mov dx, word [0x490f38]
movsx ecx, dx
mov edi, 0x8db5e9cc
sub edi, ecx
mov dword [0x4a2838], edi
cmp dword [esp + 0x118], 0
mov dword [esp + 0xc4], eax
jne 0x44fa9a
mov eax, dword [0x4a0d20]
mov ecx, eax
inc ecx
mov dword [0x4a0d20], ecx
mov dx, word [0x49615e]
movsx ecx, dx
and eax, ecx
mov ecx, dword [0x4a3b10]
mov esi, ecx
dec esi
mov dword [0x4a3b10], esi
or eax, ecx
mov dx, word [0x4977bc]
movsx ecx, dx
cmp eax, ecx
jl 0x44fa71
mov eax, dword [0x49c958]
shl eax, 9
mov cx, word [0x491946]
mov dx, cx
dec edx
mov cx, dx
mov word [0x491946], cx
movsx edx, cx
and edx, 0x1616d9a1
and edx, 0x5179e633
cmp eax, edx
jne 0x44fa6c
mov eax, dword [0x4a0fc8]
or eax, 0xb1e9dfbc
mov dword [0x4a0fc8], eax
jmp 0x44fa71
mov dword [0x4b104c], 0
mov eax, dword [0x4a0be8]
inc eax
mov dword [0x4a0be8], eax
imul eax, eax, 0x8052c546
mov ecx, dword [0x4ac5ec]
xor ecx, eax
mov dword [0x4ac5ec], ecx
mov ax, word [0x4944c2]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4944c2], ax
movsx ecx, ax
mov edx, 0x9804136
sub edx, ecx
mov ecx, dword [0x4afc6c]
or ecx, edx
mov dword [0x4afc6c], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0xc0], edx
call fcn.00414c00
mov dword [esp + 0x124], eax
mov si, word [0x4998a2]
movsx eax, si
add eax, 0x16b231c8
and eax, 0xc9ae347a
mov ecx, dword [0x4a4478]
imul ecx, eax
mov dword [0x4a4478], ecx
mov eax, dword [0x490d08]
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x491506]
mov cx, si
inc ecx
mov di, cx
mov word [0x491506], di
movsx ecx, si
sub ecx, 0x46699d79
cmp ecx, 0xf094cb0d
mov dword [esp + 0xbc], eax
jge 0x44fb7a
mov eax, 0xb269bbc
mov ecx, dword [0x4a8b5c]
cmp eax, ecx
jne 0x44fb75
mov eax, dword [0x4ae9a4]
or eax, 0x940a2c90
mov dword [0x4ae9a4], eax
jmp 0x44fb7a
lea eax, [esp + 0x554]
lea ecx, [esp + 0x12b]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x486
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], ecx
call fcn.00410180
mov dword [esp + 0x588], eax
mov eax, dword [0x4a68b0]
mov ecx, dword [0x49f664]
dec ecx
mov dword [0x49f664], ecx
imul eax, ecx
xor eax, 0xa3d543e1
mov ecx, dword [0x4a39fc]
sub ecx, eax
mov dword [0x4a39fc], ecx
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.004559f0
mov ecx, dword [0x4aab78]
imul ecx, ecx, 0x131f3c35
mov dword [0x4aab78], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x36c6
mov dword [esp + 0xb0], eax
call fcn.00410180
mov dword [esp + 0x584], eax
mov eax, dword [0x4b04a4]
and eax, 0xdef4919b
mov ecx, dword [0x49fffc]
or ecx, eax
mov dword [0x49fffc], ecx
mov eax, dword [esp + 0x588]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044f050
mov dword [0x49bf3c], 0xaac0512c
mov eax, dword [esp + 0x584]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x554]
call fcn.004322a0
sub esp, 4
mov word [0x499a80], 0xfdff
mov ecx, dword [esp + 0x584]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xac], eax
call fcn.0044f050
mov eax, dword [0x4b03a8]
mov ecx, eax
dec ecx
mov dword [0x4b03a8], ecx
mov ecx, dword [0x4a4e50]
sar ecx, 9
imul ecx, ecx, 0x7151c18d
and eax, ecx
mov ecx, dword [0x4ae4a0]
add ecx, eax
mov dword [0x4ae4a0], ecx
mov eax, dword [esp + 0xb8]
mov ecx, eax
call fcn.00439540
lea ecx, [esp + 0x554]
mov dword [esp + 0xa8], eax
call fcn.0041c5a0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xa4], ecx
call fcn.00417900
cmp eax, 0
jne 0x450bec
mov eax, 0x80009420
mov ecx, dword [0x4a99f0]
sub ecx, 0x6571a0e2
cmp eax, ecx
jle 0x44fda0
mov eax, dword [0x49f63c]
not eax
add eax, 0xe3b9b3de
mov ecx, dword [0x49dd60]
shl ecx, 7
or ecx, 0x60eb182d
cmp eax, ecx
jg 0x44fd9b
mov eax, dword [0x49da5c]
add eax, 0x6f5b3c7d
mov ecx, dword [0x4aa430]
inc ecx
mov dword [0x4aa430], ecx
and ecx, 0x6434c6c3
xor ecx, 0x659ead5
cmp eax, ecx
jle 0x44fd96
jmp 0x44fd96
jmp 0x44fd9b
jmp 0x44fda0
cmp dword [0x4b07a0], 6
jb 0x44fe98
mov eax, dword [0x49f9a0]
add eax, 0x14de747e
mov dword [0x49f9a0], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x3c91
call fcn.00410180
mov dword [esp + 0x580], eax
mov eax, dword [0x4a3cc4]
add eax, 0xa14fbe3b
mov ecx, dword [0x4a9d98]
mov edx, ecx
inc edx
mov dword [0x4a9d98], edx
sub eax, ecx
mov ecx, dword [0x49f860]
sub ecx, eax
mov dword [0x49f860], ecx
mov eax, dword [esp + 0x580]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b0830
call fcn.00455ea1
mov si, word [0x49ab32]
mov cx, si
dec ecx
mov di, cx
mov word [0x49ab32], di
movsx ecx, si
mov si, word [0x49282e]
movsx edx, si
shl edx, 2
sub ecx, edx
and ecx, 0xdc33abb7
mov edx, dword [0x4a0f0c]
or edx, ecx
mov dword [0x4a0f0c], edx
mov ecx, dword [esp + 0x580]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0xa0], eax
call fcn.0044f050
mov si, word [0x497ee0]
mov ax, si
or eax, 0x331e
mov si, ax
mov word [0x497ee0], si
jmp 0x44ffc0
mov eax, dword [0x4a66d8]
or eax, 0xc7819bbf
mov dword [0x4a66d8], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0xfa
call fcn.00410180
mov dword [esp + 0x57c], eax
mov dword [0x49c438], 0x14ce50d6
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4b0830
call fcn.00455ea1
mov ecx, dword [0x4a0f04]
imul ecx, ecx, 0x3eecea09
mov edx, dword [0x4a0314]
shl edx, 6
imul edx, edx, 0x1454a92f
and edx, 0xe4eec553
cmp ecx, edx
mov dword [esp + 0x9c], eax
jg 0x44ff5c
mov eax, 0x88cc4f2
mov ecx, dword [0x4aeb90]
add ecx, 0xaf01fbaa
cmp eax, ecx
jl 0x44ff57
mov eax, 0xeb2ffac6
mov cx, word [0x49859a]
movsx edx, cx
cmp eax, edx
je 0x44ff52
jmp 0x44ff52
jmp 0x44ff57
jmp 0x44ff99
mov eax, dword [0x49e708]
xor eax, 0x2a27dffa
cmp eax, 0x5ff2c5a8
jle 0x44ff94
mov eax, dword [0x49c3c0]
mov ecx, eax
dec ecx
mov dword [0x49c3c0], ecx
cmp eax, 0x484e4905
jle 0x44ff8f
jmp 0x44ff8f
jmp 0x44ff94
jmp 0x44ff99
mov eax, dword [esp + 0x57c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x24
call fcn.0044f050
mov eax, dword [0x49fa80]
imul eax, eax, 0x9f0019d7
mov dword [0x49fa80], eax
mov eax, dword [0x4a971c]
inc eax
mov dword [0x4a971c], eax
or eax, 0xf7b4bbf3
mov ecx, dword [0x4a5348]
add ecx, eax
mov dword [0x4a5348], ecx
mov byte [esp + 0x553], 0
mov eax, dword [0x4ab2e4]
mov ecx, eax
dec ecx
mov dword [0x4ab2e4], ecx
mov dword [0x4af738], eax
mov eax, dword [0x4b1090]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.004559f0
mov ecx, dword [0x4a49d8]
add ecx, 0x91d20a79
and ecx, 0x2ef98a32
mov edx, dword [0x4a1a9c]
dec edx
mov dword [0x4a1a9c], edx
and edx, 0x3d1d12b0
cmp ecx, edx
mov dword [esp + 0x98], eax
jg 0x45005d
mov ax, word [0x4913f0]
mov cx, ax
and ecx, 0xdf50
mov ax, cx
mov word [0x4913f0], ax
mov eax, 0x3cc82377
mov ecx, dword [0x490d08]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], esi
call ecx
sub esp, 8
mov ecx, dword [0x4a72b4]
mov edx, ecx
dec edx
mov dword [0x4a72b4], edx
and ecx, 0x83f9
mov di, word [0x492800]
mov dx, di
or edx, ecx
mov di, dx
mov word [0x492800], di
mov ecx, esp
mov edx, dword [esp + 0x90]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b0980
mov dword [esp + 0x8c], eax
call fcn.004559e0
mov ecx, dword [0x4afc7c]
imul ecx, ecx, 0x344e12bb
or ecx, 0x4a7a7407
mov edx, dword [esp + 0x94]
cmp edx, ecx
mov dword [esp + 0x88], eax
je 0x45011c
mov eax, dword [0x4a4b30]
dec eax
mov dword [0x4a4b30], eax
or eax, 0xcef46db
mov ecx, dword [0x49beec]
and ecx, eax
mov dword [0x49beec], ecx
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
mov dword [esp + 0x84], ecx
call fcn.00414c00
mov dword [esp + 0x124], eax
mov dx, word [0x496efa]
mov ax, dx
add eax, 0x2022a02a
mov dx, ax
mov word [0x496efa], dx
mov eax, dword [0x490d08]
mov ecx, esp
mov esi, dword [esp + 0x84]
mov dword [ecx], esi
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov dx, word [0x492e8e]
movsx ecx, dx
shl ecx, 6
mov esi, dword [0x4a77c8]
or esi, 0x1d151f7e
cmp ecx, esi
mov dword [esp + 0x80], eax
jge 0x4501b3
mov eax, dword [0x4a1ccc]
mov ecx, eax
dec ecx
mov dword [0x4a1ccc], ecx
mov ecx, dword [0x4a04d4]
xor ecx, eax
mov dword [0x4a04d4], ecx
mov eax, 0xa3f3d93a
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x486
mov dword [esp + 0x7c], eax
call fcn.00410180
mov dword [esp + 0x578], eax
mov eax, dword [0x4a359c]
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jge 0x45022e
mov eax, dword [0x4b0060]
shl eax, 0xa
mov cx, word [0x4913ee]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jle 0x450229
mov eax, dword [0x4a5be0]
mov cx, word [0x493398]
movsx edx, cx
imul eax, edx
mov edx, dword [0x49df50]
or eax, edx
or eax, 0x833cbafa
mov dword [0x49df50], eax
jmp 0x45022e
mov eax, dword [esp + 0x578]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.004559f0
mov dx, word [0x491794]
mov cx, dx
xor ecx, 0xf8e8
mov dx, cx
mov word [0x491794], dx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x36c6
mov dword [esp + 0x78], eax
call fcn.00410180
mov dword [esp + 0x574], eax
mov eax, dword [0x4acb78]
imul eax, eax, 0xae8df856
mov ecx, dword [0x4a401c]
xor ecx, eax
mov dword [0x4a401c], ecx
mov eax, dword [esp + 0x578]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0044f050
mov dword [0x4a21e4], 0xa892666b
mov eax, dword [esp + 0x574]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x554]
call fcn.004322a0
sub esp, 4
mov ecx, dword [0x4a7854]
not ecx
mov esi, dword [0x49d314]
inc esi
mov dword [0x49d314], esi
add esi, 0xf16c3cdb
cmp ecx, esi
mov dword [esp + 0x74], eax
jne 0x45033b
mov eax, 0xf30251e4
mov ecx, dword [0x4a1044]
add ecx, 0x71afc0ed
cmp eax, ecx
jg 0x450336
mov eax, dword [0x4a9390]
inc eax
mov dword [0x4a9390], eax
mov cx, word [0x498afa]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x498afa], cx
jmp 0x45033b
lea eax, [esp + 0x554]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x574]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
call fcn.0044f050
mov eax, dword [0x4a68fc]
add eax, 0x886bea9f
mov dword [0x4a68fc], eax
mov eax, dword [esp + 0x70]
mov ecx, eax
call fcn.00439540
lea ecx, [esp + 0x554]
mov dword [esp + 0x68], eax
call fcn.0041c5a0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x64], ecx
call fcn.00417900
cmp eax, 0
jne 0x450b5c
mov eax, dword [0x4ae338]
mov ecx, eax
dec ecx
mov dword [0x4ae338], ecx
mov dx, word [0x49b32a]
mov cx, dx
and ecx, 0xe1e1
xor eax, ecx
mov dx, word [0x49b16c]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x49b16c], dx
mov eax, dword [0x490cb0]
mov ecx, esp
lea esi, [esp + 0x12b]
mov dword [ecx + 4], esi
mov dword [ecx], 0x104
mov dword [esp + 0x60], esi
call eax
sub esp, 8
mov ecx, dword [0x4afbe8]
and ecx, 0x591b7acf
mov esi, dword [0x49c0e4]
sub esi, ecx
mov dword [0x49c0e4], esi
mov ecx, esp
mov esi, dword [esp + 0x60]
mov dword [ecx], esi
mov dword [esp + 0x5c], eax
call fcn.00452920
mov dword [esp + 0x124], eax
mov dx, word [0x497246]
movsx eax, dx
xor eax, 0xffffffff
sub eax, 0x4e7b9fc2
cmp eax, 0x62008100
jl 0x45048a
mov eax, dword [0x49d9e8]
mov ecx, eax
inc ecx
mov dword [0x49d9e8], ecx
add eax, 0xdfab9024
mov ecx, dword [0x4af2d8]
sub ecx, eax
mov dword [0x4af2d8], ecx
mov eax, 0xf8d35af5
mov ecx, dword [esp + 0x124]
add ecx, 0xfffffffe
mov dword [esp + 0x124], ecx
mov ecx, dword [0x49f680]
xor ecx, 0xffffffff
sub eax, ecx
cmp eax, 0x852cf25d
je 0x4504d3
mov ax, word [0x49923c]
mov cx, ax
or ecx, 0x32c5
mov ax, cx
mov word [0x49923c], ax
jmp 0x4504fd
mov ax, word [0x49a51c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49a51c], ax
movsx ecx, ax
mov edx, dword [0x4aa3e0]
xor ecx, edx
xor ecx, 0x9a612c1c
mov dword [0x4aa3e0], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x120], eax
cmp dword [esp + 0x120], 0
jle 0x450663
mov eax, dword [0x49c958]
and eax, 0xf9dfffd6
mov dword [0x49c958], eax
mov eax, dword [esp + 0x120]
movsx eax, byte [esp + eax + 0x12b]
cmp eax, 0x5c
jne 0x45062d
mov eax, 0x2680e688
mov ecx, dword [0x4ab880]
sar ecx, 5
mov edx, dword [0x4a8d34]
xor edx, ecx
mov dword [0x4a8d34], edx
mov ecx, dword [esp + 0x120]
inc ecx
mov dword [esp + 0x120], ecx
mov si, word [0x4990e4]
movsx ecx, si
add ecx, 0x7419f5d6
mov edx, dword [0x4ac14c]
sub edx, ecx
mov dword [0x4ac14c], edx
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x12b], 0
mov si, word [0x494f78]
mov cx, si
dec ecx
mov si, cx
mov word [0x494f78], si
movsx ecx, si
cmp eax, ecx
jle 0x4505d3
mov eax, dword [0x4a760c]
not eax
or eax, 0xf653
mov cx, ax
mov word [0x49982e], cx
jmp 0x45060a
mov eax, 0x871d174
mov ecx, dword [0x4acea4]
and ecx, 0x101c224d
cmp eax, ecx
jle 0x450605
mov eax, dword [0x4a6254]
imul eax, eax, 0xf20a40
mov ecx, dword [0x4a897c]
and ecx, eax
mov dword [0x4a897c], ecx
jmp 0x45060a
mov eax, dword [esp + 0x120]
mov dword [esp + 0x124], eax
mov eax, dword [0x4a5c20]
imul eax, eax, 0x30f8153
mov dword [0x4a5c20], eax
jmp 0x450663
mov eax, dword [0x4a5ec0]
shl eax, 9
add eax, 0x38127e7f
xor eax, 0x3da252ff
mov ecx, dword [0x4a2bf8]
and ecx, eax
mov dword [0x4a2bf8], ecx
mov eax, dword [esp + 0x120]
add eax, 0xffffffff
mov dword [esp + 0x120], eax
jmp 0x45050b
mov eax, 0x79dd678d
mov cx, word [0x4981a2]
mov dx, cx
dec edx
mov si, dx
mov word [0x4981a2], si
movsx edx, cx
sub edx, 0x6356151c
and edx, 0xda80fa08
cmp eax, edx
jle 0x4506a3
mov eax, dword [0x4a7dc0]
and eax, 0x495f9c4
mov dword [0x4a7dc0], eax
mov eax, 0xf1f2fdff
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b0980
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
call fcn.004559e0
mov si, word [0x496a18]
movsx ecx, si
lea ecx, [ecx*4 - 0x730a8617]
or ecx, 0x61cec26d
mov edx, dword [0x49e978]
sub edx, ecx
mov dword [0x49e978], edx
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00414c00
mov dword [esp + 0x124], eax
mov eax, dword [0x49d06c]
inc eax
mov dword [0x49d06c], eax
sub eax, 0x8619d8ba
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x45072f
mov dword [0x4a651c], 0x5b672ffe
jmp 0x45073e
mov eax, dword [0x4ab770]
xor eax, 0xfd97dd1f
mov dword [0x4ab770], eax
mov eax, dword [0x490d08]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x4b0120]
add ecx, 0xb53815e1
mov dword [0x4b0120], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x486
mov dword [esp + 0x4c], eax
call fcn.00410180
mov dword [esp + 0x570], eax
mov eax, dword [0x4aaf08]
mov ecx, eax
dec ecx
mov dword [0x4aaf08], ecx
cmp eax, 0xbbb938ac
jne 0x4507b3
mov eax, dword [0x4aca58]
add eax, 0x2cd0241b
mov dword [0x4aca58], eax
mov eax, 0x877611e3
mov ecx, dword [esp + 0x570]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [edx], ecx
mov dword [esp + 0x48], eax
call fcn.004559f0
mov ecx, dword [0x49e964]
and ecx, 0xcc2e52e6
mov edx, dword [esp + 0x48]
cmp edx, ecx
mov dword [esp + 0x44], eax
jne 0x450802
mov eax, dword [0x4aaff4]
imul eax, eax, 0x458f82dd
mov dword [0x4aaff4], eax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x36c6
call fcn.00410180
mov dword [esp + 0x56c], eax
mov cx, word [0x49b212]
mov ax, cx
add eax, 0xc53b3de7
mov cx, ax
mov word [0x49b212], cx
mov eax, dword [esp + 0x570]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x1f
call fcn.0044f050
mov eax, dword [0x4aa24c]
or eax, 0x7fbe022f
mov dword [0x4aa24c], eax
mov eax, dword [esp + 0x56c]
mov edx, esp
mov dword [edx], eax
lea ecx, [esp + 0x554]
call fcn.004322a0
sub esp, 4
mov ecx, dword [0x49e450]
inc ecx
mov dword [0x49e450], ecx
imul ecx, ecx, 0xa0eda355
cmp ecx, 0xdfffdefd
mov dword [esp + 0x40], eax
jl 0x4508b5
mov ax, word [0x499c88]
movsx ecx, ax
mov edx, dword [0x4b0060]
xor edx, ecx
mov dword [0x4b0060], edx
jmp 0x45090d
mov eax, 0x81ae905
mov ecx, dword [0x4a17b8]
inc ecx
mov dword [0x4a17b8], ecx
mov edx, dword [0x4a823c]
xor ecx, edx
cmp eax, ecx
jle 0x450908
mov eax, 0xef37f6ea
mov ecx, dword [0x49ddac]
mov edx, dword [0x4a4afc]
imul ecx, edx
and ecx, 0xa8d117af
cmp eax, ecx
je 0x4508fe
jmp 0x450903
jmp 0x450903
jmp 0x450908
jmp 0x45090d
lea eax, [esp + 0x554]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x56c]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
call fcn.0044f050
mov di, word [0x49a0ce]
mov ax, di
add eax, eax
and eax, 0xd316
mov di, word [0x49249e]
mov cx, di
or ecx, eax
mov di, cx
mov word [0x49249e], di
mov eax, dword [esp + 0x3c]
mov ecx, eax
call fcn.00439540
lea ecx, [esp + 0x554]
mov dword [esp + 0x34], eax
call fcn.0041c5a0
mov ecx, 0x9a47605
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], 0x9a47605
mov dword [esp + 0x30], ecx
call fcn.00417900
cmp eax, 0
jne 0x450b0f
mov eax, 0xab8c43d4
mov ecx, dword [0x4a59a0]
or ecx, 0x968190df
mov dword [0x4a59a0], ecx
mov ecx, dword [0x490cb0]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x2c], eax
call ecx
sub esp, 8
mov ecx, dword [0x4aff68]
inc ecx
mov dword [0x4aff68], ecx
mov edx, dword [esp + 0x2c]
cmp edx, ecx
mov dword [esp + 0x28], eax
jl 0x450a12
mov eax, dword [0x4a5a3c]
and eax, 0x585c5e70
mov dword [0x4a5a3c], eax
mov eax, 0xfdfdb3ff
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4b0980
mov dword [esp + 0x24], eax
call fcn.004559e0
mov ecx, dword [0x4a2090]
mov edx, ecx
inc edx
mov dword [0x4a2090], edx
mov edx, dword [esp + 0x24]
cmp edx, ecx
mov dword [esp + 0x20], eax
jne 0x450a66
mov eax, dword [0x49d708]
imul eax, eax, 0xa4db2a36
mov dword [0x49d708], eax
jmp 0x450a7b
mov eax, dword [0x4af890]
not eax
mov ecx, dword [0x4abb34]
sub ecx, eax
mov dword [0x4abb34], ecx
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x486
call fcn.00410180
mov dword [esp + 0x568], eax
mov cx, word [0x497c80]
mov ax, cx
or eax, 0x10aa
mov cx, ax
mov word [0x497c80], cx
mov eax, dword [esp + 0x568]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x12b]
mov dword [edx], eax
call fcn.004559f0
mov edx, dword [0x49efb8]
or edx, 0x415010a8
mov dword [0x49d9b0], edx
mov edx, dword [esp + 0x568]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x1c], eax
call fcn.0044f050
mov cx, word [0x498bf8]
mov ax, cx
or eax, 0xe6d6
mov cx, ax
mov word [0x498bf8], cx
mov eax, 0xdeda931d
mov ecx, dword [0x4ae0b4]
dec ecx
mov dword [0x4ae0b4], ecx
mov edx, dword [0x4a6a28]
mov esi, edx
inc esi
mov dword [0x4a6a28], esi
add ecx, edx
and ecx, 0x12e21427
cmp eax, ecx
jl 0x450b57
mov eax, dword [0x4af790]
mov ecx, dword [0x49df38]
lea eax, [eax + ecx + 0x7d7704b7]
mov dword [0x49df38], eax
jmp 0x450b5c
mov eax, 0x98518b1
mov cx, word [0x491f12]
mov dx, cx
inc edx
mov si, dx
mov word [0x491f12], si
movsx edx, cx
cmp eax, edx
jg 0x450be7
mov eax, 0xa1c5273b
mov ecx, dword [0x4b0480]
mov edx, dword [0x4acaa0]
xor ecx, edx
mov si, word [0x498242]
mov dx, si
inc edx
mov di, dx
mov word [0x498242], di
movsx edx, si
or ecx, edx
cmp eax, ecx
jl 0x450bca
mov eax, dword [0x4b0618]
add eax, 0x60052b71
mov dword [0x4b0618], eax
jmp 0x450be2
mov ax, word [0x49a6ee]
mov cx, ax
and ecx, 0x700f
mov ax, cx
mov word [0x49a6ee], ax
jmp 0x450be7
jmp 0x450bec
mov eax, dword [0x4a7b54]
mov ecx, eax
dec ecx
mov dword [0x4a7b54], ecx
add eax, 0x8d59f7d
mov ecx, dword [0x4a7f74]
sub ecx, eax
mov dword [0x4a7f74], ecx
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax], ecx
mov dword [esp + 0x18], ecx
call fcn.00414c00
mov ecx, dword [0x4a4a84]
imul ecx, ecx, 0x1c40a8
mov dword [0x4a4a84], ecx
mov ecx, dword [0x490cbc]
mov edx, esp
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov dword [edx + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov di, word [0x495e1a]
mov cx, di
add ecx, 0xa7e22429
mov di, cx
mov word [0x495e1a], di
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], 0x429
mov dword [esp + 0x10], eax
call fcn.00427ea0
mov eax, dword [0x4a59b0]
imul eax, eax, 0x6a64206e
mov ecx, dword [0x4a1248]
add ecx, eax
mov dword [0x4a1248], ecx
lea ecx, [esp + 0x554]
call fcn.004383d0
add esp, 0x594
pop esi
pop edi
pop ebx
ret