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

Disassembly:
push edi
push esi
sub esp, 0x5c4
mov ax, word [0x496978]
mov cx, ax
shl ecx, 9
mov ax, cx
mov word [0x4981b6], ax
lea ecx, [esp + 0x584]
call fcn.0042cad0
mov dword [0x4a9e94], 0x3c78ec6d
mov word [0x49486c], 0x5fdb
mov ecx, dword [0x4a4884]
add ecx, 0xe109a415
mov dword [0x4a4884], ecx
mov ecx, dword [0x4a0a88]
mov edx, ecx
inc edx
mov dword [0x4a0a88], edx
add ecx, 0xfef08b5f
mov edx, dword [0x4a05b0]
xor edx, ecx
mov dword [0x4a05b0], edx
mov dword [esp + 0x120], 0
mov ecx, dword [0x4a6bac]
cmp ecx, 0x1d2b4000
mov dword [esp + 0x11c], eax
jge 0x44c21a
mov eax, dword [0x49ca04]
sar eax, 5
mov cx, word [0x498144]
movsx edx, cx
shl edx, 7
sub edx, 0x766a3e2a
or eax, edx
cmp eax, 0xda8a1ad1
jge 0x44c215
mov ax, word [0x490be2]
mov cx, ax
xor ecx, 0xefff
mov ax, cx
mov word [0x490be2], ax
jmp 0x44c21a
mov dword [0x4ad880], 0x94
mov eax, dword [0x4a4e08]
imul eax, eax, 0x32aa9450
mov ecx, dword [0x49f6d4]
and eax, ecx
mov ecx, dword [0x4a89b0]
imul ecx, ecx, 0x9108d95
cmp eax, ecx
jge 0x44c275
mov eax, dword [0x4a3848]
mov ecx, eax
dec ecx
mov dword [0x4a3848], ecx
add eax, 0xe6cd0e41
mov ecx, dword [0x4a466c]
and eax, ecx
and eax, 0xc63e95e6
mov dword [0x4a466c], eax
jmp 0x44c28d
mov ax, word [0x493f00]
mov cx, ax
add ecx, 0x80928109
mov ax, cx
mov word [0x493f00], ax
mov eax, dword [0x48f5e0]
mov ecx, esp
mov dword [ecx], 0x4ad880
call eax
sub esp, 4
mov dx, word [0x49291c]
movsx ecx, dx
or ecx, 0xafb3deed
mov esi, dword [0x4a0f18]
xor esi, ecx
mov dword [0x4a0f18], esi
mov dword [esp + 0x118], eax
call fcn.0043cf50
mov dword [0x4ae1e0], eax
mov dx, word [0x493e5c]
mov ax, dx
dec eax
mov dx, ax
mov word [0x493e5c], dx
movsx eax, dx
xor eax, 0x6a3ee3ce
mov ecx, dword [0x4a3fcc]
imul ecx, eax
mov dword [0x4a3fcc], ecx
call fcn.00401690
mov dword [0x4ae1e4], eax
mov dx, word [0x497024]
mov ax, dx
dec eax
mov di, ax
mov word [0x497024], di
movsx eax, dx
mov ecx, dword [0x4ac2d8]
shl ecx, 7
add ecx, 0xb254fe3
cmp eax, ecx
je 0x44c342
mov eax, dword [0x49c00c]
and eax, 0x11014904
mov dword [0x49c00c], eax
mov eax, dword [0x4ae1e0]
cmp eax, 0
je 0x44c522
mov eax, 0x57ec9278
mov ecx, dword [0x49c294]
imul ecx, ecx, 0xc7cf0df5
mov dword [0x49c294], ecx
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], edx
call fcn.004403a0
mov dword [esp + 0x12c], eax
mov eax, dword [0x4aa05c]
xor eax, 0x31ffc258
mov dword [0x4aa05c], eax
mov eax, dword [esp + 0x12c]
mov byte [esp + eax + 0x131], 0x5c
mov eax, dword [0x4acbe8]
or eax, 0x4a68c0d5
mov dword [0x4acbe8], eax
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x12c], eax
mov dword [0x49e848], 0x44f6a2ac
mov eax, dword [esp + 0x12c]
mov byte [esp + eax + 0x131], 0
mov eax, dword [0x4a5e20]
and eax, 0xcdc9ee7
mov dword [0x4a5e20], eax
mov eax, dword [0x4ae220]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x110]
mov dword [ecx], eax
call fcn.004540a0
mov ecx, dword [0x49d318]
add ecx, 0xb2396acf
mov dword [0x49d318], ecx
mov ecx, dword [0x48f628]
mov edx, esp
mov esi, dword [esp + 0x110]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x10c], eax
call ecx
sub esp, 8
mov ecx, dword [0x4acdf0]
add ecx, 0x2af352f
mov dword [0x4acdf0], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x55fc
mov dword [esp + 0x108], eax
call fcn.004033e0
mov dword [esp + 0x5c0], eax
mov di, word [0x492d1e]
movsx eax, di
mov ecx, dword [0x4aa730]
xor eax, ecx
not eax
mov ecx, dword [0x49dbbc]
and ecx, eax
mov dword [0x49dbbc], ecx
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x110]
mov dword [ecx], eax
call fcn.004540a0
mov ecx, dword [0x499864]
mov edx, dword [esp + 0x114]
cmp edx, ecx
mov dword [esp + 0x104], eax
jne 0x44c4e2
mov ax, word [0x496600]
mov cx, ax
and ecx, 0x163f
mov ax, cx
mov word [0x496600], ax
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0043ade0
mov eax, dword [0x49aa00]
imul eax, eax, 0xea72dca1
mov ecx, dword [0x4aa32c]
sar ecx, 4
sub eax, ecx
mov ecx, dword [0x4a97d4]
and ecx, eax
mov dword [0x4a97d4], ecx
jmp 0x44c561
mov eax, dword [0x4a5280]
mov ecx, eax
dec ecx
mov dword [0x4a5280], ecx
mov ecx, dword [0x49eb68]
lea eax, [ecx + eax - 1]
mov dword [0x49eb68], eax
mov byte [esp + 0x131], 0
mov dx, word [0x4911c4]
mov ax, dx
imul eax, eax, 0xb9bb7f2f
mov dx, ax
mov word [0x4911c4], dx
mov eax, 0x82ec1b82
mov word [0x49387c], 0xa651
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x731
mov dword [esp + 0x100], eax
call fcn.004033e0
mov dword [esp + 0x5bc], eax
mov eax, dword [0x4a993c]
mov ecx, eax
dec ecx
mov dword [0x4a993c], ecx
mov ecx, dword [0x49d258]
mov edx, ecx
inc edx
mov dword [0x49d258], edx
sub eax, ecx
xor eax, 0x39cf104
mov dword [0x49af98], eax
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x584]
call fcn.0044f1e0
sub esp, 4
mov ecx, dword [0x4ab6b8]
mov edx, dword [0x49c630]
mov esi, edx
inc esi
mov dword [0x49c630], esi
and ecx, edx
mov edx, dword [esp + 0x100]
cmp edx, ecx
mov dword [esp + 0xfc], eax
jge 0x44c610
mov eax, dword [0x49f33c]
xor eax, 0x8e44001
mov dword [0x49f33c], eax
lea eax, [esp + 0x584]
lea ecx, [esp + 0x131]
mov edx, dword [esp + 0x5bc]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], ecx
call fcn.0043ade0
mov eax, dword [0x49e8b0]
not eax
add eax, 0x37d733f5
xor eax, 0x8a832094
mov ecx, dword [0x4acebc]
sub ecx, eax
mov dword [0x4acebc], ecx
mov eax, dword [esp + 0xf8]
mov ecx, eax
call fcn.0043c9e0
lea ecx, [esp + 0x584]
mov dword [esp + 0xf0], eax
call fcn.00444360
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xec], ecx
call fcn.00418490
cmp eax, 0
je 0x44c81f
mov eax, 0x9867bf8
mov ecx, dword [0x4a9814]
add ecx, 0x6c002155
mov dword [0x4a9814], ecx
mov dword [esp + 0x120], 1
mov ecx, dword [0x4ad138]
xor ecx, 0x9ef4
mov dx, word [0x4950ce]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4950ce], dx
mov ecx, dword [0x48f5b4]
mov esi, esp
lea edi, [esp + 0x131]
mov dword [esi], edi
mov dword [esp + 0xe8], eax
call ecx
sub esp, 4
mov dx, word [0x494568]
movsx ecx, dx
or ecx, 0x2797ac3
mov esi, dword [esp + 0xe8]
cmp esi, ecx
mov dword [esp + 0xe4], eax
jne 0x44c783
mov eax, 0x4f68cd2d
mov ecx, dword [0x4ac950]
dec ecx
mov dword [0x4ac950], ecx
add ecx, 0xbe73eb99
cmp eax, ecx
jle 0x44c77e
mov eax, dword [0x49ebf8]
or eax, 0x4b3cbc18
mov ecx, dword [0x49fdd0]
add ecx, eax
mov dword [0x49fdd0], ecx
jmp 0x44c78c
mov word [0x498daa], 0xdebf
mov eax, 0x7ce0d2ff
mov ecx, dword [esp + 0x12c]
mov byte [esp + ecx + 0x131], 0
mov dx, word [0x498f62]
movsx ecx, dx
imul ecx, ecx, 0x56f8dd00
cmp eax, ecx
jge 0x44c7cc
mov eax, dword [0x4abd28]
or eax, 0x92fc8d93
mov dword [0x4abd28], eax
jmp 0x44c7f1
mov eax, dword [0x49d494]
add eax, 0x79c0d69c
or eax, 0x26be
mov cx, word [0x493cfe]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x493cfe], cx
mov eax, dword [0x48f62c]
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a8364]
add ecx, 0xb1edf730
mov dword [0x4a8364], ecx
mov dword [esp + 0xe0], eax
mov eax, 0x9009981
mov cx, word [0x498c96]
movsx edx, cx
cmp eax, edx
jl 0x44c83f
mov word [0x494c00], 0xc4a0
mov eax, 0x50f53ba2
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
mov dword [esp + 0xdc], eax
call fcn.004403a0
mov si, word [0x492a58]
mov cx, si
or ecx, 0xdc5a
mov si, word [0x49242e]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x49242e], si
mov byte [esp + 0x134], 0
mov ecx, dword [0x4a1f50]
mov edx, dword [esp + 0xdc]
cmp edx, ecx
mov dword [esp + 0xd8], eax
jne 0x44c8be
mov ax, word [0x496e38]
mov cx, ax
or ecx, 0xde55
mov ax, cx
mov word [0x496e38], ax
mov eax, dword [0x4ae220]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
mov dword [esp + 0xd4], eax
call fcn.004540a0
mov dx, word [0x49569c]
mov cx, dx
xor ecx, 0xca0b
mov dx, word [0x4936bc]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4936bc], dx
mov ecx, dword [0x48f628]
mov esi, esp
mov edi, dword [esp + 0xd4]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xd0], eax
call ecx
sub esp, 8
mov ecx, dword [0x49a478]
and ecx, 0xb9eff26
mov dword [0x49a478], ecx
mov ecx, esp
mov esi, dword [esp + 0xd4]
mov dword [ecx + 4], esi
mov dword [ecx], 0x4ada90
mov dword [esp + 0xcc], eax
call fcn.00454090
mov ecx, dword [0x49f824]
mov esi, ecx
dec esi
mov dword [0x49f824], esi
imul ecx, ecx, 0xf3c67a68
add ecx, 0xb0eb6fa4
mov esi, dword [0x4aaf1c]
xor esi, ecx
mov dword [0x4aaf1c], esi
cmp dword [esp + 0x120], 0
mov dword [esp + 0xc8], eax
jne 0x44caa7
mov eax, 0xec077756
mov ecx, dword [0x49d658]
shl ecx, 0xa
cmp eax, ecx
je 0x44ca06
mov eax, dword [0x49bbd4]
dec eax
mov dword [0x49bbd4], eax
imul eax, eax, 0x13fac24d
mov ecx, dword [0x4aa91c]
xor ecx, 0x62551d1a
cmp eax, ecx
jne 0x44c9e9
mov eax, dword [0x4aa10c]
mov ecx, dword [0x4a03d4]
add ecx, eax
mov dword [0x4a03d4], ecx
jmp 0x44ca01
mov eax, dword [0x4acde0]
xor eax, 0x880e22a1
mov ecx, dword [0x4a338c]
or ecx, eax
mov dword [0x4a338c], ecx
jmp 0x44ca06
mov dword [0x4ae1dc], 0
mov eax, dword [0x4ab410]
mov ecx, dword [0x49a4ec]
imul ecx, ecx, 0xf7d90700
and eax, ecx
mov dx, word [0x490728]
movsx ecx, dx
or ecx, 0x98f29d41
cmp eax, ecx
je 0x44ca71
mov eax, 0xd30d2812
mov ecx, dword [0x4aabc0]
shl ecx, 3
sub ecx, 0x6812e2b2
sub ecx, 0x75f37186
cmp eax, ecx
jle 0x44ca6c
mov eax, dword [0x4a5ef8]
xor eax, 0xcb82cbc9
mov dword [0x4a5ef8], eax
jmp 0x44caa2
mov eax, dword [0x499ef4]
mov cx, word [0x494428]
mov dx, cx
imul edx, eax
shl edx, 8
xor edx, 0x4198
mov cx, word [0x490dfc]
mov ax, cx
or eax, edx
mov cx, ax
mov word [0x490dfc], cx
jmp 0x44caa7
mov eax, 0x2f700f1e
mov ecx, dword [0x4a0a88]
imul ecx, ecx, 0xc93fd0db
mov dword [0x4a0a88], ecx
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], edx
call fcn.00434380
mov dword [esp + 0x12c], eax
mov eax, dword [0x4a241c]
xor eax, 0x89aefed4
mov dword [0x4a241c], eax
mov eax, dword [0x48f628]
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 [0x48f94e]
mov cx, si
imul ecx, ecx, 0xaf4617ff
mov si, cx
mov word [0x48f94e], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x55fc
mov dword [esp + 0xbc], eax
call fcn.004033e0
mov dword [esp + 0x5b8], eax
mov si, word [0x495c46]
movsx eax, si
mov ecx, dword [esp + 0xc4]
sub ecx, eax
cmp ecx, 0xed4041a5
jle 0x44cb93
mov ax, word [0x4901c0]
movsx ecx, ax
add ecx, 0xd6bd7690
mov edx, dword [0x4ac220]
and ecx, edx
mov edx, dword [0x4a1cf8]
add edx, ecx
mov dword [0x4a1cf8], edx
jmp 0x44cbb4
mov eax, dword [0x49b4a4]
sar eax, 7
imul eax, eax, 0x3df13f97
add eax, 0xf098b70
mov ecx, dword [0x49f5a0]
sub ecx, eax
mov dword [0x49f5a0], ecx
mov eax, 0x7882d34
mov ecx, dword [esp + 0x5b8]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x131]
mov dword [edx], ecx
mov dword [esp + 0xb8], eax
call fcn.004540a0
mov ecx, dword [0x4a8484]
mov edx, ecx
inc edx
mov dword [0x4a8484], edx
or ecx, 0x60e8
mov si, word [0x497db6]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x497db6], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x731
mov dword [esp + 0xb4], eax
call fcn.004033e0
mov dword [esp + 0x5b4], eax
mov si, word [0x497d78]
mov ax, si
add eax, 0xc58977d4
mov si, ax
mov word [0x497d78], si
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0043ade0
mov eax, dword [0x49d3a4]
inc eax
mov dword [0x49d3a4], eax
mov ecx, dword [0x4a0cfc]
or eax, ecx
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jg 0x44cc96
mov ax, word [0x4929dc]
mov cx, ax
and ecx, 0xa048
mov ax, cx
mov word [0x4929dc], ax
jmp 0x44ccb8
mov eax, dword [0x49a390]
mov ecx, eax
inc ecx
mov dword [0x49a390], ecx
and eax, 0xbdc1001a
mov ecx, dword [0x4a29e0]
imul ecx, eax
mov dword [0x4a29e0], ecx
lea eax, [esp + 0x584]
lea ecx, [esp + 0x131]
mov edx, dword [esp + 0x5b4]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x584]
mov dword [esp + 0xb0], ecx
mov ecx, edx
mov dword [esp + 0xac], eax
call fcn.0044f1e0
sub esp, 4
mov ecx, dword [0x4ac25c]
add ecx, 0xed5a6f85
and ecx, 0x93d56e0d
mov edx, dword [0x4ac4f8]
add edx, ecx
mov dword [0x4ac4f8], edx
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa8], eax
call fcn.0043ade0
mov dword [0x4aaa10], 0x9a0ac320
mov eax, dword [esp + 0xac]
mov ecx, eax
call fcn.0043c9e0
lea ecx, [esp + 0x584]
mov dword [esp + 0xa4], eax
call fcn.00444360
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0xa0], ecx
call fcn.00418490
cmp eax, 0
jne 0x44da25
mov eax, 0x8555d956
mov ecx, dword [0x4a26a4]
shl ecx, 1
add ecx, 0x11fae0ef
cmp eax, ecx
je 0x44cdc4
mov eax, dword [0x49c928]
add eax, 0x2957bd1c
mov dword [0x49c928], eax
jmp 0x44cdd3
mov eax, dword [0x49daa0]
xor eax, 0x78860a67
mov dword [0x49daa0], eax
cmp dword [0x4ad884], 6
jb 0x44ce88
mov ax, word [0x49516e]
mov cx, ax
imul ecx, ecx, 0x544128fa
mov ax, cx
mov word [0x49516e], ax
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x7427
call fcn.004033e0
mov dword [esp + 0x5b0], eax
mov eax, dword [0x4a2af8]
or eax, 0x4d2fa98
mov dword [0x4a2af8], eax
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4ad914
call fcn.0045431f
mov ecx, dword [0x4abda4]
add ecx, 0x2a2801aa
mov dword [0x4abda4], ecx
mov ecx, dword [esp + 0x5b0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0x9c], eax
call fcn.0043ade0
mov eax, dword [0x4a8e50]
imul eax, eax, 0x8488a509
mov dword [0x4a8e50], eax
jmp 0x44cf2a
mov eax, dword [0x4aadd0]
or eax, 0x2415fedc
mov dword [0x4aadd0], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x18
call fcn.004033e0
mov dword [esp + 0x5ac], eax
mov eax, dword [0x4a2b54]
imul eax, eax, 0xf144dea9
mov dword [0x4a2b54], eax
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4ad914
call fcn.0045431f
mov dx, word [0x494102]
mov cx, dx
imul ecx, ecx, 0xbfdfebff
mov dx, cx
mov word [0x494102], dx
mov ecx, dword [esp + 0x5ac]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x24
mov dword [esp + 0x98], eax
call fcn.0043ade0
mov eax, dword [0x4a5dc4]
add eax, 0xe163a075
mov dword [0x4a5dc4], eax
mov eax, 0xbad2d745
mov ecx, dword [0x4ad490]
mov dx, word [0x4955ae]
mov si, dx
inc esi
mov di, si
mov word [0x4955ae], di
movsx esi, dx
add ecx, esi
mov dx, word [0x4976e6]
movsx esi, dx
or ecx, esi
cmp eax, ecx
je 0x44cf94
mov eax, 0x512845db
mov ecx, dword [0x4a6f2c]
shl ecx, 4
or ecx, 0x550b8e8b
cmp eax, ecx
je 0x44cf8f
mov eax, dword [0x4a61c8]
imul eax, eax, 0x2b804407
mov dword [0x4a61c8], eax
jmp 0x44cf94
mov eax, 0xe7ad9033
mov byte [esp + 0x583], 0
mov ecx, dword [0x4997d4]
mov dx, word [0x4949fe]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4949fe], dx
mov ecx, dword [0x4ae220]
mov esi, esp
mov dword [esi + 4], ecx
lea ecx, [esp + 0x131]
mov dword [esi], ecx
mov dword [esp + 0x94], eax
call fcn.004540a0
mov dx, word [0x49418c]
movsx ecx, dx
add ecx, 0x394fc547
and ecx, 0x16f0071a
mov esi, dword [esp + 0x94]
cmp esi, ecx
mov dword [esp + 0x90], eax
je 0x44d027
mov ax, word [0x48f9e0]
movsx ecx, ax
mov edx, 0x67d14141
sub edx, ecx
mov ecx, dword [0x49d0a8]
and ecx, edx
mov dword [0x49d0a8], ecx
mov eax, dword [0x48f628]
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x8c], edx
call eax
sub esp, 8
mov dword [0x4ab7a4], 0x2e52b6fd
mov ecx, esp
mov edx, dword [esp + 0x8c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4ada90
mov dword [esp + 0x88], eax
call fcn.00454090
mov si, word [0x496e0c]
movsx ecx, si
mov edx, 0xc98b9894
sub edx, ecx
mov ecx, dword [0x4a67b4]
imul ecx, edx
mov dword [0x4a67b4], ecx
mov ecx, esp
mov edx, dword [esp + 0x8c]
mov dword [ecx], edx
mov dword [esp + 0x84], eax
call fcn.00434380
mov dword [esp + 0x12c], eax
mov eax, dword [0x4a0400]
or eax, 0xe0d7d7b1
mov dword [0x4a0400], eax
mov eax, dword [0x48f628]
mov ecx, esp
mov edx, dword [esp + 0x8c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov dword [0x4ad468], 0xa8c06707
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x55fc
mov dword [esp + 0x80], eax
call fcn.004033e0
mov dword [esp + 0x5a8], eax
mov si, word [0x490f96]
mov ax, si
xor eax, 0xa618
mov si, ax
mov word [0x490f96], si
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [ecx], eax
call fcn.004540a0
mov ecx, dword [0x49db08]
add ecx, 0x5a8aa502
mov dword [0x49db08], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x731
mov dword [esp + 0x7c], eax
call fcn.004033e0
mov dword [esp + 0x5a4], eax
mov eax, dword [0x49f6d4]
mov ecx, eax
inc ecx
mov dword [0x49f6d4], ecx
mov ecx, dword [0x4a37c4]
and eax, ecx
and eax, 0x503d5588
mov ecx, dword [0x49baa4]
sub ecx, eax
mov dword [0x49baa4], ecx
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0043ade0
mov eax, dword [0x49b79c]
and eax, 0x9369c6a4
mov dword [0x49b79c], eax
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x584]
call fcn.0044f1e0
sub esp, 4
mov si, word [0x49769a]
mov cx, si
add ecx, 0x61012c20
mov si, cx
mov word [0x49769a], si
mov ecx, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x78], eax
call fcn.0043ade0
mov eax, dword [0x49c038]
sar eax, 7
cmp eax, 0xa9c47859
je 0x44d247
mov ax, word [0x49170e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49170e], ax
movsx ecx, ax
or ecx, 0x49f68591
mov edx, dword [0x4a4584]
imul edx, ecx
mov dword [0x4a4584], edx
lea eax, [esp + 0x584]
lea ecx, [esp + 0x131]
mov dword [esp + 0x74], ecx
mov ecx, eax
call fcn.0043c9e0
lea ecx, [esp + 0x584]
mov dword [esp + 0x70], eax
call fcn.00444360
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x6c], ecx
call fcn.00418490
cmp eax, 0
jne 0x44da16
mov eax, 0x7fcfde7d
mov cx, word [0x496752]
mov dx, cx
inc edx
mov si, dx
mov word [0x496752], si
movsx edx, cx
sub edx, 0x80f7075a
cmp eax, edx
jg 0x44d2dc
mov eax, dword [0x49d8cc]
or eax, 0xfede5b99
mov dword [0x49d8cc], eax
mov eax, 0xd0877d1a
mov ecx, dword [0x48f5d0]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], esi
call ecx
sub esp, 8
mov dword [0x4aa1a4], 0xa6d4baf1
mov ecx, esp
mov edx, dword [esp + 0x64]
mov dword [ecx], edx
mov dword [esp + 0x60], eax
call fcn.00450e90
mov dword [esp + 0x12c], eax
mov di, word [0x4964ca]
mov ax, di
imul eax, eax, 0x452f1168
mov di, ax
mov word [0x4964ca], di
mov eax, dword [esp + 0x12c]
add eax, 0xfffffffe
mov dword [esp + 0x12c], eax
mov eax, dword [0x4a967c]
xor eax, 0x626de710
or eax, 0x59c27a80
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jle 0x44d382
mov eax, dword [0x4abc54]
mov cx, ax
mov word [0x49854e], cx
jmp 0x44d3e5
mov eax, dword [0x4a77a0]
mov ecx, dword [0x4ac2fc]
add ecx, 0x35ebaf68
xor eax, ecx
cmp eax, 0x541de848
jle 0x44d3e0
mov eax, 0xdffbf7fd
mov ecx, dword [0x4a4100]
shl ecx, 8
mov edx, dword [0x4a8e78]
inc edx
mov dword [0x4a8e78], edx
or ecx, edx
mov edx, dword [0x4a7c30]
mov esi, edx
dec esi
mov dword [0x4a7c30], esi
or ecx, edx
cmp eax, ecx
jl 0x44d3db
jmp 0x44d3db
jmp 0x44d3e0
jmp 0x44d3e5
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x128], eax
cmp dword [esp + 0x128], 0
jle 0x44d508
mov eax, 0xc6cabcee
mov ecx, dword [0x4ad388]
mov edx, ecx
dec edx
mov dword [0x4ad388], edx
and ecx, 0xbdbc630b
cmp eax, ecx
je 0x44d432
mov eax, dword [0x49cda4]
add eax, 0x57b65f30
mov dword [0x49cda4], eax
mov eax, dword [esp + 0x128]
movsx eax, byte [esp + eax + 0x131]
cmp eax, 0x5c
jne 0x44d4da
mov eax, dword [0x4ab090]
inc eax
mov dword [0x4ab090], eax
mov cx, word [0x49873a]
movsx edx, cx
add eax, edx
cmp eax, 0x911fea15
jg 0x44d47b
mov eax, dword [0x49d718]
xor eax, 0x48963947
mov dword [0x49d718], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x128], eax
mov eax, dword [0x4a8cec]
imul eax, eax, 0x4bfc7b9c
mov dword [0x4a8cec], eax
mov eax, dword [esp + 0x128]
mov byte [esp + eax + 0x131], 0
mov eax, dword [0x49c818]
xor eax, 0x862638
mov dword [0x4a8c84], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x12c], eax
mov eax, dword [0x49ebf8]
add eax, 0x52849402
mov dword [0x49ebf8], eax
jmp 0x44d508
mov ax, word [0x494922]
mov cx, ax
add ecx, 0x2760ec62
mov ax, cx
mov word [0x494922], ax
mov eax, dword [esp + 0x128]
add eax, 0xffffffff
mov dword [esp + 0x128], eax
jmp 0x44d3f3
mov eax, dword [0x4a4db4]
and eax, 0x6e6f1840
mov dword [0x4a4db4], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax + 4], ecx
mov dword [eax], 0x4ada90
mov dword [esp + 0x5c], ecx
call fcn.00454090
mov ecx, dword [0x49af70]
or ecx, 0x20d18020
mov dword [0x49af70], ecx
mov ecx, esp
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov dword [esp + 0x58], eax
call fcn.00434380
mov dword [esp + 0x12c], eax
mov eax, dword [0x4a97b4]
mov ecx, dword [0x49c8c4]
mov edx, ecx
inc edx
mov dword [0x49c8c4], edx
and eax, ecx
xor eax, 0x6900b37
cmp eax, 0xd845d3df
je 0x44d596
mov eax, dword [0x4a8f0c]
or eax, 0x68b80bb1
mov dword [0x4a8f0c], eax
jmp 0x44d5be
mov eax, dword [0x49f468]
sar eax, 3
mov cx, word [0x4982d4]
movsx edx, cx
imul eax, edx
xor eax, 0xe95cf541
mov edx, dword [0x4a41a8]
or edx, eax
mov dword [0x4a41a8], edx
mov eax, 0xa0366a72
mov ecx, dword [0x48f628]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], esi
call ecx
sub esp, 8
mov ecx, dword [0x4a6334]
shl ecx, 4
mov edx, dword [0x49cf08]
and edx, ecx
mov dword [0x49cf08], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x55fc
mov dword [esp + 0x4c], eax
call fcn.004033e0
mov dword [esp + 0x5a0], eax
mov eax, dword [0x4abf58]
add eax, 0xafc1e036
mov dword [0x4abf58], eax
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.004540a0
mov ecx, dword [0x4a4520]
add ecx, 0x440c336
add ecx, 0x9256bda2
mov edx, dword [esp + 0x54]
cmp edx, ecx
mov dword [esp + 0x48], eax
jle 0x44d675
mov eax, dword [0x4a89c8]
add eax, 0x22c93109
mov dword [0x4a89c8], eax
lea eax, [esp + 0x584]
lea ecx, [esp + 0x131]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x731
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
call fcn.004033e0
mov dword [esp + 0x59c], eax
mov eax, dword [0x4a28c8]
imul eax, eax, 0x45d695a7
mov ecx, dword [0x49d2cc]
and ecx, eax
mov dword [0x49d2cc], ecx
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0043ade0
mov eax, dword [0x4aa8ac]
inc eax
mov dword [0x4aa8ac], eax
xor eax, 0x7e5bba92
mov ecx, dword [0x4a84b4]
imul ecx, eax
mov dword [0x4a84b4], ecx
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x584]
call fcn.0044f1e0
sub esp, 4
mov ecx, dword [0x4ab268]
and ecx, 0xd2bd4bc8
mov dword [0x4ab268], ecx
mov ecx, dword [esp + 0x59c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x3c], eax
call fcn.0043ade0
mov eax, dword [0x49efa4]
add eax, 0xfb7bdffc
mov dword [0x49efa4], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
call fcn.0043c9e0
lea ecx, [esp + 0x584]
mov dword [esp + 0x38], eax
call fcn.00444360
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x34], ecx
call fcn.00418490
cmp eax, 0
jne 0x44d990
mov eax, 0x89421a
mov ecx, dword [0x4aa834]
not ecx
mov edx, dword [0x4a704c]
sub ecx, edx
mov edx, dword [0x4a33f8]
or ecx, edx
cmp eax, ecx
jne 0x44d7d5
mov ax, word [0x490848]
mov cx, ax
add ecx, 0x6fed5828
mov ax, cx
mov word [0x490848], ax
mov eax, 0xdbbf7f6f
mov ecx, dword [0x48f5d0]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x30], eax
call ecx
sub esp, 8
mov di, word [0x497a0e]
movsx ecx, di
imul ecx, ecx, 0x43915d01
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x2c], eax
je 0x44d845
mov ax, word [0x494a48]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x494a48], dx
movsx ecx, ax
mov esi, dword [0x4a1fa4]
sub esi, ecx
mov dword [0x4a1fa4], esi
jmp 0x44d855
mov eax, dword [0x4a6634]
imul eax, eax, 0x2a2f634a
mov dword [0x4a6634], eax
mov eax, 0xa0444a0
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4ada90
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
call fcn.00454090
mov ecx, dword [0x4a69f8]
and ecx, 0x4c8404a2
mov edx, dword [0x4a3cdc]
lea ecx, [edx + ecx + 0x234b7b4c]
mov dword [0x4a3cdc], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x55fc
mov dword [esp + 0x20], eax
call fcn.004033e0
mov dword [esp + 0x598], eax
mov si, word [0x493cb0]
movsx eax, si
mov si, word [0x494eda]
movsx ecx, si
imul ecx, ecx, 0x3a3e2ea8
or eax, ecx
mov ecx, dword [0x4aab24]
or ecx, eax
mov dword [0x4aab24], ecx
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
call fcn.004540a0
mov si, word [0x4928ce]
movsx ecx, si
xor ecx, 0xffffffff
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x1c], eax
jl 0x44d940
mov eax, dword [0x4a7828]
mov ecx, eax
dec ecx
mov dword [0x4a7828], ecx
mov dx, word [0x498d70]
mov cx, dx
lea eax, [ecx + eax - 1]
mov dx, ax
mov word [0x498d70], dx
jmp 0x44d958
mov ax, word [0x49452e]
mov cx, ax
and ecx, 0x244
mov ax, cx
mov word [0x49452e], ax
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.0043ade0
mov eax, dword [0x49c47c]
mov ecx, dword [0x4a1b40]
mov edx, ecx
dec edx
mov dword [0x4a1b40], edx
add ecx, 0x1ac96fc5
or eax, ecx
mov dword [0x4a3178], eax
mov eax, dword [0x4a18cc]
xor eax, 0x8bbca1b7
mov ecx, dword [0x4acb0c]
and ecx, 0xa2f6dabd
xor ecx, 0xcedbfdfa
cmp eax, ecx
jl 0x44da11
mov eax, dword [0x4a3324]
inc eax
mov dword [0x4a3324], eax
mov cx, word [0x4951d0]
movsx edx, cx
or eax, edx
mov cx, word [0x492ad4]
movsx edx, cx
mov esi, dword [0x49bf58]
mov edi, esi
dec edi
mov dword [0x49bf58], edi
imul edx, esi
cmp eax, edx
jle 0x44da0c
mov eax, 0xff10f331
mov ecx, dword [0x49cfd8]
cmp eax, ecx
jg 0x44da07
jmp 0x44da07
jmp 0x44da0c
jmp 0x44da11
jmp 0x44da16
mov eax, dword [0x499be4]
add eax, 0xdb9b52b1
mov dword [0x499be4], eax
mov eax, dword [0x4a1e20]
imul eax, eax, 0x49bf0e19
mov ecx, dword [0x4a3154]
sub ecx, eax
mov dword [0x4a3154], ecx
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
mov dword [esp + 0x18], ecx
call fcn.00434380
mov dx, word [0x4994fe]
mov cx, dx
and ecx, 0x35
shl ecx, 9
mov dx, word [0x494aa8]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x494aa8], dx
mov ecx, dword [0x48f5dc]
mov esi, esp
mov edi, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov dx, word [0x49046a]
movsx ecx, dx
mov esi, dword [0x4a37c0]
sar esi, 6
xor ecx, esi
mov dx, word [0x493298]
movsx esi, dx
sub esi, 0xcc7d1bf1
cmp ecx, esi
mov dword [esp + 0x10], eax
jge 0x44daf6
mov ax, word [0x49491e]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49491e], ax
movsx ecx, ax
mov edx, dword [0x4aabc0]
or ecx, edx
or ecx, 0xd88c6c90
mov dword [0x4aabc0], ecx
jmp 0x44db05
mov eax, dword [0x4a722c]
add eax, 0x5c5307d6
mov dword [0x4a722c], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
mov dword [eax + 4], 0x453
call fcn.00441e20
mov eax, dword [0x49d850]
dec eax
mov dword [0x49d850], eax
imul eax, eax, 0x450510c
xor eax, 0x745
mov dx, word [0x496b20]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x496b20], dx
lea ecx, [esp + 0x584]
call fcn.0041e6c0
add esp, 0x5c4
pop esi
pop edi
ret