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

Disassembly:
push edi
push esi
sub esp, 0x5d8
mov word [0x4916ea], 0xaa21
lea ecx, [esp + 0x598]
call fcn.004260d0
mov dx, word [0x492cf0]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x492cf0], dx
movsx ecx, dx
mov esi, dword [0x498f80]
not esi
imul ecx, esi
xor ecx, 0x1b798ac3
mov esi, dword [0x495224]
add esi, 0xa942dda6
cmp ecx, esi
mov dword [esp + 0x110], eax
je 0x42cad1
mov eax, dword [0x49bfc0]
or eax, 0x56df
mov cx, word [0x4917b4]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4917b4], cx
mov eax, 0x483e1370
mov ecx, dword [0x497a98]
mov edx, ecx
dec edx
mov dword [0x497a98], edx
or ecx, 0xe5c115a1
cmp eax, ecx
jg 0x42cb1b
mov ax, word [0x49445e]
movsx ecx, ax
mov edx, dword [0x496b78]
shl edx, 4
or ecx, edx
mov edx, dword [0x494d88]
or ecx, edx
or ecx, 0xc3d4745a
mov dword [0x494d88], ecx
mov eax, 0x84cc9260
mov ecx, dword [0x49941c]
mov edx, ecx
dec edx
mov dword [0x49941c], edx
add ecx, 0x99fcd64a
mov edx, dword [0x498bc0]
and edx, ecx
mov dword [0x498bc0], edx
mov ecx, dword [0x495c88]
mov edx, ecx
inc edx
mov dword [0x495c88], edx
cmp eax, ecx
jge 0x42cb63
mov word [0x491c94], 0x21d
mov eax, 0x1ae60247
mov dword [esp + 0x114], 0
mov cx, word [0x4926da]
mov dx, cx
and edx, 0xf133
mov cx, dx
mov word [0x4926da], cx
mov dword [0x49cbec], 0x94
mov edx, dword [0x497fc8]
imul edx, edx, 0x9b34bec1
mov cx, word [0x491410]
mov si, cx
and edx, esi
and edx, 0x6a53
mov cx, dx
mov word [0x491410], cx
mov edx, dword [0x490160]
mov esi, esp
mov dword [esi], 0x49cbec
mov dword [esp + 0x10c], eax
call edx
sub esp, 4
mov cx, word [0x4913e8]
movsx edx, cx
mov esi, dword [esp + 0x10c]
cmp esi, edx
mov dword [esp + 0x108], eax
jge 0x42cc09
mov eax, dword [0x49b8b0]
imul eax, eax, 0x44428959
mov dword [0x49b8b0], eax
call fcn.00403eb0
mov dword [0x49d5c0], eax
mov eax, dword [0x4952fc]
add eax, 0x25263722
mov dword [0x4952fc], eax
call fcn.00424ca0
mov dword [0x49d5c4], eax
mov cx, word [0x493008]
movsx eax, cx
mov edx, dword [0x49b5ec]
mov esi, edx
dec esi
mov dword [0x49b5ec], esi
lea eax, [eax + edx - 1]
and eax, 0xed709faf
mov edx, dword [0x4975d8]
or edx, eax
mov dword [0x4975d8], edx
mov eax, dword [0x49d5c0]
cmp eax, 0
je 0x42ceeb
mov eax, 0x82020458
mov cx, word [0x490f88]
mov dx, cx
inc edx
mov cx, dx
mov word [0x490f88], cx
movsx edx, cx
mov esi, dword [0x49b858]
shl esi, 5
or edx, esi
cmp eax, edx
jle 0x42cd03
mov eax, dword [0x4965d8]
not eax
mov ecx, dword [0x49b0f8]
or eax, ecx
mov ecx, dword [0x495640]
dec ecx
mov dword [0x495640], ecx
imul ecx, ecx, 0xce42db42
imul ecx, ecx, 0xe478beeb
cmp eax, ecx
jne 0x42ccfe
mov eax, dword [0x49a504]
mov cx, word [0x49423e]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49423e], cx
movsx edx, cx
neg edx
lea eax, [eax + edx - 0x16befa8d]
mov edx, dword [0x49a4f4]
and edx, eax
mov dword [0x49a4f4], edx
jmp 0x42cd03
mov eax, esp
lea ecx, [esp + 0x127]
mov dword [eax], ecx
call fcn.0044a1a0
mov dword [esp + 0x120], eax
mov eax, dword [0x498ae0]
imul eax, eax, 0x1a1f1df3
mov dword [0x498ae0], eax
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x127], 0x5c
mov eax, dword [0x49bf60]
mov ecx, eax
inc ecx
mov dword [0x49bf60], ecx
add eax, 0x890f7f27
cmp eax, 0xd44c85d5
jle 0x42cd60
mov word [0x490588], 0x1ecf
mov eax, dword [esp + 0x120]
inc eax
mov dword [esp + 0x120], eax
mov eax, dword [0x4955e8]
add eax, 0x61fa8f8a
and eax, 0x8b55
mov cx, word [0x492b0e]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x492b0e], cx
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x127], 0
mov eax, dword [0x4958e8]
mov edx, dword [0x496f60]
mov esi, edx
inc esi
mov dword [0x496f60], esi
add eax, edx
mov edx, dword [0x49acb8]
and edx, eax
mov dword [0x49acb8], edx
mov eax, dword [0x49d600]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x127]
mov dword [edx], eax
mov dword [esp + 0x104], eax
call fcn.00456370
mov cx, word [0x4929ce]
mov dx, cx
imul edx, edx, 0xdede6fe6
mov cx, dx
mov word [0x4929ce], cx
mov edx, dword [0x4901a8]
mov esi, esp
mov edi, dword [esp + 0x104]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x100], eax
call edx
sub esp, 8
mov edx, dword [0x497d98]
and edx, 0x6eb22be
mov dword [0x497d98], edx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x1580
mov dword [esp + 0xfc], eax
call fcn.0044dc30
mov dword [esp + 0x5d4], eax
mov cx, word [0x491cf8]
movsx eax, cx
mov edx, dword [0x497784]
and edx, eax
mov dword [0x497784], edx
mov eax, dword [esp + 0x5d4]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [edx], eax
call fcn.00456370
mov edx, dword [0x497284]
xor edx, 0xc44d
mov cx, word [0x490df0]
mov si, cx
sub esi, edx
mov cx, si
mov word [0x490df0], cx
mov edx, dword [esp + 0x5d4]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
call fcn.004387b0
mov eax, dword [0x4967bc]
mov edx, eax
dec edx
mov dword [0x4967bc], edx
mov edx, 0x82f9ec96
sub edx, eax
mov dword [0x499ef4], edx
jmp 0x42cf20
mov eax, dword [0x4966b8]
imul eax, eax, 0xf5b45ece
or eax, 0x197f5bcc
mov ecx, dword [0x49581c]
sub ecx, eax
mov dword [0x49581c], ecx
mov byte [esp + 0x127], 0
mov eax, dword [0x49517c]
add eax, 0x427afd76
mov dword [0x49517c], eax
lea eax, [esp + 0x598]
lea ecx, [esp + 0x127]
mov edx, dword [0x49848c]
mov esi, edx
inc esi
mov dword [0x49848c], esi
mov esi, dword [0x4968f0]
add edx, esi
mov di, word [0x492786]
mov si, di
sub esi, edx
mov di, si
mov word [0x492786], di
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x1d2d
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.0044dc30
mov dword [esp + 0x5d0], eax
mov eax, dword [0x49a40c]
xor eax, 0x39f7e9dd
mov dword [0x49a40c], eax
mov eax, dword [esp + 0x5d0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x598]
call fcn.00413470
sub esp, 4
mov ecx, dword [0x499880]
and ecx, 0xc9aebfff
mov dword [0x499880], ecx
mov ecx, dword [esp + 0x5d0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.004387b0
mov eax, dword [0x497fe4]
add eax, 0x1105a885
mov dword [0x497fe4], eax
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.0041ba20
lea ecx, [esp + 0x598]
mov dword [esp + 0xe8], eax
call fcn.00446e40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe4], ecx
call fcn.0044cc80
cmp eax, 0
je 0x42d171
mov ax, word [0x49294e]
movsx ecx, ax
lea ecx, [ecx*4 + 0x5d293be5]
mov edx, dword [0x499a6c]
not edx
and ecx, edx
mov edx, dword [0x49af34]
xor edx, 0x1e26a446
cmp ecx, edx
jle 0x42d0be
mov eax, 0x43f166e5
mov ecx, dword [0x497ea4]
inc ecx
mov dword [0x497ea4], ecx
or ecx, 0x711113e1
cmp eax, ecx
jg 0x42d0aa
mov eax, dword [0x494998]
and eax, 0xbfce2116
mov dword [0x494998], eax
jmp 0x42d0b9
mov eax, dword [0x4986c0]
xor eax, 0x1d3d8c3a
mov dword [0x4986c0], eax
jmp 0x42d0be
mov dword [esp + 0x114], 1
mov eax, dword [0x49c208]
mov ecx, dword [0x499318]
or ecx, eax
mov dword [0x499318], ecx
mov eax, dword [0x490134]
mov ecx, esp
lea edx, [esp + 0x127]
mov dword [ecx], edx
mov dword [esp + 0xe0], edx
call eax
sub esp, 4
mov si, word [0x492700]
mov cx, si
imul ecx, ecx, 0xebbc31ae
mov si, cx
mov word [0x492700], si
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x127], 0
mov ecx, dword [0x49c664]
add ecx, 0x16474875
mov dword [0x49c664], ecx
mov ecx, dword [0x4901ac]
mov edx, esp
mov edi, dword [esp + 0xe0]
mov dword [edx], edi
mov dword [esp + 0xdc], eax
call ecx
sub esp, 4
mov si, word [0x4936e8]
mov cx, si
add ecx, 0xf44a236f
mov si, cx
mov word [0x4936e8], si
mov dword [esp + 0xd8], eax
mov eax, 0x19cf23c6
mov ecx, dword [0x49c6e8]
cmp eax, ecx
jge 0x42d19c
mov ax, word [0x491214]
mov cx, ax
add ecx, 0xce959135
mov ax, cx
mov word [0x4928c0], ax
mov eax, esp
lea ecx, [esp + 0x127]
mov dword [eax], ecx
mov dword [esp + 0xd4], ecx
call fcn.0044a1a0
mov ecx, dword [0x4999d0]
imul ecx, ecx, 0x2003c0a0
mov dword [0x4999d0], ecx
mov byte [esp + 0x12a], 0
mov dx, word [0x4913fa]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x4913fa], dx
movsx ecx, dx
add ecx, 0x4df9042
or ecx, 0x19a47248
mov esi, dword [0x49a1e0]
add esi, ecx
mov dword [0x49a1e0], esi
mov ecx, dword [0x49d600]
mov esi, esp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esi], ecx
mov dword [esp + 0xd0], eax
call fcn.00456370
mov ecx, dword [0x498544]
not ecx
mov dword [0x497584], ecx
mov ecx, dword [0x4901a8]
mov esi, esp
mov edi, dword [esp + 0xd4]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov ecx, dword [0x4989e4]
xor ecx, 0xc9740e74
mov dword [0x4989e4], ecx
mov ecx, esp
mov esi, dword [esp + 0xd4]
mov dword [ecx + 4], esi
mov dword [ecx], 0x49ce18
mov dword [esp + 0xc8], eax
call fcn.00456360
mov ecx, dword [0x499e88]
xor ecx, 0xa19d6a3f
mov dword [0x499e88], ecx
cmp dword [esp + 0x114], 0
mov dword [esp + 0xc4], eax
jne 0x42d369
mov eax, 0xf7a67fdf
mov cx, word [0x4944a4]
mov dx, cx
inc edx
mov si, dx
mov word [0x4944a4], si
movsx edx, cx
cmp eax, edx
jl 0x42d335
mov eax, 0x8ecdc17d
mov ecx, dword [0x49aa88]
xor ecx, 0xffffffff
cmp eax, ecx
je 0x42d2f7
mov eax, dword [0x499584]
and eax, 0x9918d15b
mov dword [0x499584], eax
jmp 0x42d330
mov eax, dword [0x49a454]
shl eax, 2
or eax, 0xd0210164
mov ecx, dword [0x498d14]
xor ecx, 0xffffffff
imul ecx, ecx, 0xce0728d5
and ecx, 0xe0b917d9
cmp eax, ecx
jge 0x42d326
jmp 0x42d32b
jmp 0x42d32b
jmp 0x42d330
jmp 0x42d335
mov dword [0x49d5bc], 0
mov eax, dword [0x49cabc]
inc eax
mov dword [0x49cabc], eax
mov ecx, dword [0x4957f4]
mov edx, ecx
dec edx
mov dword [0x4957f4], edx
or eax, ecx
mov ecx, dword [0x4952b0]
or ecx, eax
mov dword [0x4952b0], ecx
lea eax, [esp + 0x598]
lea ecx, [esp + 0x127]
mov edx, dword [0x4970fc]
inc edx
mov dword [0x4970fc], edx
xor edx, 0x1d784d97
mov esi, dword [0x494a10]
sub esi, edx
mov dword [0x494a10], esi
mov edx, esp
lea esi, [esp + 0x127]
mov dword [edx], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], esi
call fcn.004402e0
mov dword [esp + 0x120], eax
mov eax, dword [0x494c30]
and eax, 0xfe86f34a
mov dword [0x494c30], eax
mov eax, dword [0x4901a8]
mov ecx, esp
mov edx, dword [esp + 0xb8]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov dword [0x4981d4], 0x8aa330af
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1580
mov dword [esp + 0xb4], eax
call fcn.0044dc30
mov dword [esp + 0x5cc], eax
mov eax, dword [0x497a84]
mov ecx, eax
dec ecx
mov dword [0x497a84], ecx
add eax, 0xa9d76e50
mov dword [0x498a40], eax
mov eax, dword [esp + 0x5cc]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [ecx], eax
call fcn.00456370
mov ecx, dword [0x499aa0]
mov edx, dword [0x49abd8]
imul ecx, edx
imul ecx, ecx, 0x56bf2400
mov dword [0x49abd8], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1d2d
mov dword [esp + 0xb0], eax
call fcn.0044dc30
mov dword [esp + 0x5c8], eax
mov eax, dword [0x49c8b4]
and eax, 0x5b0c2c8
mov dword [0x49c8b4], eax
mov eax, dword [esp + 0x5cc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004387b0
mov eax, dword [0x49a298]
mov ecx, dword [0x49a65c]
add eax, ecx
mov ecx, dword [0x49738c]
xor ecx, eax
mov dword [0x49738c], ecx
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x598]
call fcn.00413470
sub esp, 4
mov di, word [0x493486]
movsx ecx, di
and ecx, 0xf5bd5f8
mov edx, dword [0x49476c]
xor edx, ecx
mov dword [0x49476c], edx
mov ecx, dword [esp + 0x5c8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xac], eax
call fcn.004387b0
mov di, word [0x49361c]
movsx eax, di
xor eax, 0x4231a34e
mov dword [0x49b3f0], eax
mov eax, dword [esp + 0xc0]
mov ecx, eax
call fcn.0041ba20
lea ecx, [esp + 0x598]
mov dword [esp + 0xa8], eax
call fcn.00446e40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xa4], ecx
call fcn.0044cc80
cmp eax, 0
jne 0x42e131
mov ax, word [0x492722]
movsx ecx, ax
not ecx
imul ecx, ecx, 0xbddad83f
mov edx, dword [0x495100]
sar edx, 8
xor ecx, edx
mov edx, dword [0x49a548]
imul edx, ecx
mov dword [0x49a548], edx
cmp dword [0x49cbf0], 6
jb 0x42d6c2
mov ax, word [0x49204e]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49204e], dx
movsx ecx, ax
add ecx, 0x92d92116
and ecx, 0x94e4b4ba
mov esi, dword [0x49b1d0]
sub esi, ecx
mov dword [0x49b1d0], esi
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x326
call fcn.0044dc30
mov dword [esp + 0x5c4], eax
mov eax, dword [0x4967d0]
imul eax, eax, 0x3dbcc5a4
mov dword [0x4967d0], eax
mov eax, dword [esp + 0x5c4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x127]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49cc80
call fcn.0045655b
mov ecx, dword [0x4979e4]
imul ecx, ecx, 0xa78f71c3
mov esi, dword [0x498b68]
or esi, ecx
mov dword [0x498b68], esi
mov ecx, dword [esp + 0x5c4]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x12
mov dword [esp + 0xa0], eax
call fcn.004387b0
mov dx, word [0x490bb2]
mov ax, dx
dec eax
mov dx, ax
mov word [0x490bb2], dx
movsx eax, dx
mov ecx, dword [0x49ad78]
sar ecx, 9
imul eax, ecx
cmp eax, 0x4aecd693
jl 0x42d6bd
mov eax, dword [0x49a9f4]
imul eax, eax, 0xd5aaff02
mov dword [0x49a9f4], eax
jmp 0x42d770
mov eax, dword [0x4970bc]
add eax, 0xfca21df
mov dword [0x4970bc], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0xf6a
call fcn.0044dc30
mov dword [esp + 0x5c0], eax
mov eax, dword [0x49b5d0]
xor eax, 0x48b02e10
mov dword [0x49aad4], eax
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x127]
mov dword [ecx], eax
mov dword [ecx + 8], 0x49cc80
call fcn.0045655b
mov ecx, dword [0x498438]
mov edx, ecx
dec edx
mov dword [0x498438], edx
mov edx, dword [0x499b68]
xor edx, ecx
mov dword [0x499b68], edx
mov ecx, dword [esp + 0x5c0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x24
mov dword [esp + 0x9c], eax
call fcn.004387b0
mov si, word [0x490f84]
mov ax, si
add eax, 0xcb7c92c6
mov si, ax
mov word [0x490f84], si
mov eax, 0xd9f05e78
mov ecx, dword [0x496c04]
imul ecx, ecx, 0x48bd78bd
mov dword [0x496c04], ecx
mov byte [esp + 0x597], 0
mov ecx, dword [0x499664]
xor ecx, 0xe184a210
mov dword [0x499664], ecx
mov ecx, dword [0x49d600]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x127]
mov dword [edx], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
call fcn.00456370
mov ecx, dword [0x4946b0]
mov edx, dword [0x499d28]
not edx
and ecx, edx
mov si, word [0x49264e]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x49264e], si
mov ecx, dword [0x4901a8]
mov edx, esp
mov edi, dword [esp + 0x94]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0x90], eax
call ecx
sub esp, 8
mov ecx, dword [0x497b48]
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x8c], eax
jg 0x42d85c
mov eax, dword [0x496304]
mov ecx, dword [0x49bd58]
mov edx, ecx
inc edx
mov dword [0x49bd58], edx
sub eax, ecx
mov si, word [0x492ab6]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x492ab6], si
mov eax, 0x7ecc09f7
mov ecx, esp
lea edx, [esp + 0x127]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49ce18
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
call fcn.00456360
mov dword [0x499afc], 0x3b2cb94d
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx], edx
mov dword [esp + 0x80], eax
call fcn.004402e0
mov dword [esp + 0x120], eax
mov eax, dword [0x495644]
add eax, 0x42042862
mov dword [0x495644], eax
mov eax, dword [0x4901a8]
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x495584]
mov edx, ecx
dec edx
mov dword [0x495584], edx
mov edx, dword [esp + 0x88]
cmp edx, ecx
mov dword [esp + 0x7c], eax
jle 0x42d90a
mov eax, dword [0x495b18]
xor eax, 0xdfa70f1a
mov dword [0x495b18], eax
mov eax, 0xf2deeb9f
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1580
mov dword [esp + 0x78], eax
call fcn.0044dc30
mov dword [esp + 0x5bc], eax
mov eax, dword [0x49a508]
add eax, 0xa832cc4b
mov dword [0x49a508], eax
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x127]
mov dword [ecx], eax
call fcn.00456370
mov word [0x49404c], 0xab07
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1d2d
mov dword [esp + 0x74], eax
call fcn.0044dc30
mov dword [esp + 0x5b8], eax
mov dx, word [0x4943ee]
mov ax, dx
xor eax, 0x53fb
mov dx, ax
mov word [0x4943ee], dx
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004387b0
mov eax, dword [0x498d54]
and eax, 0x7fbfbf9d
mov dword [0x498d54], eax
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x598]
call fcn.00413470
sub esp, 4
mov ecx, dword [0x49ba80]
mov esi, dword [0x49c3d8]
sar esi, 5
and ecx, esi
mov esi, dword [0x49addc]
or esi, ecx
mov dword [0x49addc], esi
mov ecx, dword [esp + 0x5b8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0x70], eax
call fcn.004387b0
mov eax, dword [0x49a518]
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jne 0x42da81
mov eax, 0xbdcb015e
mov ecx, dword [0x49872c]
mov edx, ecx
inc edx
mov dword [0x49872c], edx
cmp eax, ecx
jg 0x42da7c
mov ax, word [0x49252c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49252c], ax
mov ax, word [0x491afa]
mov dx, ax
xor ecx, edx
mov ax, cx
movsx ecx, ax
mov edx, dword [0x499990]
shl edx, 2
xor ecx, edx
mov edx, dword [0x499e48]
add edx, ecx
mov dword [0x499e48], edx
jmp 0x42da81
lea eax, [esp + 0x598]
lea ecx, [esp + 0x127]
mov dword [esp + 0x6c], ecx
mov ecx, eax
call fcn.0041ba20
lea ecx, [esp + 0x598]
mov dword [esp + 0x68], eax
call fcn.00446e40
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.0044cc80
cmp eax, 0
jne 0x42e122
mov eax, 0xb5d28736
mov ecx, dword [0x496bb4]
xor ecx, 0xee88180
mov dword [0x496bb4], ecx
mov ecx, dword [0x490150]
mov edx, esp
lea esi, [esp + 0x127]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], esi
call ecx
sub esp, 8
mov ecx, dword [0x499fa4]
or ecx, 0xf4237711
mov dword [0x499fa4], ecx
mov ecx, esp
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov dword [esp + 0x58], eax
call fcn.00452e00
mov dword [esp + 0x120], eax
mov di, word [0x491546]
movsx eax, di
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jl 0x42db88
mov ax, word [0x490ee6]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x490ee6], ax
add ecx, 0xfaf428fc
mov ax, word [0x4911fc]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4911fc], ax
mov eax, dword [esp + 0x120]
add eax, 0xfffffffe
mov dword [esp + 0x120], eax
mov cx, word [0x4939b2]
mov ax, cx
inc eax
mov dx, ax
mov word [0x4939b2], dx
movsx eax, cx
mov esi, dword [0x49b100]
or eax, esi
mov esi, dword [0x4957fc]
xor esi, eax
mov dword [0x4957fc], esi
mov eax, dword [esp + 0x120]
mov dword [esp + 0x11c], eax
cmp dword [esp + 0x11c], 0
jle 0x42dd08
mov ax, word [0x49143c]
mov cx, ax
xor ecx, 0x1fa3
mov ax, cx
mov word [0x49143c], ax
mov ecx, dword [esp + 0x11c]
movsx ecx, byte [esp + ecx + 0x127]
cmp ecx, 0x5c
jne 0x42dcc0
mov eax, dword [0x494c10]
or eax, 0x4e83c48a
mov dword [0x494c10], eax
mov eax, dword [esp + 0x11c]
inc eax
mov dword [esp + 0x11c], eax
mov eax, dword [0x4978a4]
dec eax
mov dword [0x4978a4], eax
imul eax, eax, 0xfb148665
xor eax, 0x6408765d
cmp eax, 0xc314ab83
jne 0x42dc61
mov eax, dword [0x495008]
add eax, 0x7c65548f
mov dword [0x495008], eax
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x127], 0
mov cx, word [0x491028]
mov ax, cx
or eax, 0x5c64
mov cx, ax
mov word [0x491028], cx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov cx, word [0x49097e]
movsx eax, cx
not eax
add eax, 0x51e56588
xor eax, 0x1374ba20
mov edx, dword [0x499aa8]
sub edx, eax
mov dword [0x499aa8], edx
jmp 0x42dd08
mov eax, dword [0x498fe4]
or eax, 0x11ab6fbd
cmp eax, 0xa889b028
jl 0x42dced
mov ax, word [0x4928f6]
mov cx, ax
xor ecx, 0xbff2
mov ax, cx
mov word [0x4928f6], ax
jmp 0x42dcf2
mov eax, dword [esp + 0x11c]
add eax, 0xffffffff
mov dword [esp + 0x11c], eax
jmp 0x42dbd5
mov eax, 0x81010421
mov word [0x4942e8], 0x272e
mov ecx, esp
lea edx, [esp + 0x127]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49ce18
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.00456360
mov ecx, dword [0x496d2c]
imul ecx, ecx, 0x4487edd6
mov dword [0x496d2c], ecx
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
call fcn.004402e0
mov dword [esp + 0x120], eax
mov eax, dword [0x49a800]
add eax, 0x397df5f9
mov dword [0x49a800], eax
mov eax, dword [0x4901a8]
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4905d8]
mov cx, si
mov edx, ecx
inc edx
mov si, dx
mov word [0x4905d8], si
mov edx, 0xab25e617
sub edx, ecx
mov si, word [0x492654]
mov cx, si
add ecx, edx
mov si, cx
mov word [0x492654], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1580
mov dword [esp + 0x48], eax
call fcn.0044dc30
mov dword [esp + 0x5b4], eax
mov eax, dword [0x499710]
xor eax, 0x5f1e2443
mov dword [0x499710], eax
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.00456370
mov ecx, dword [0x494aac]
mov edx, ecx
dec edx
mov dword [0x494aac], edx
add ecx, 0x3e6592d3
mov edx, dword [0x497070]
xor edx, ecx
mov dword [0x497070], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1d2d
mov dword [esp + 0x44], eax
call fcn.0044dc30
mov dword [esp + 0x5b0], eax
mov eax, dword [0x494898]
mov ecx, eax
inc ecx
mov dword [0x494898], ecx
add eax, 0xd9b3ff
mov si, word [0x4934ac]
movsx ecx, si
add eax, ecx
mov ecx, dword [esp + 0x54]
cmp ecx, eax
je 0x42de98
mov eax, dword [0x49529c]
xor eax, 0x7e7f
mov ecx, dword [0x499f68]
shl ecx, 2
or eax, ecx
mov dx, word [0x493a28]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x493a28], dx
mov eax, 0xe1313f5b
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x40], eax
call fcn.004387b0
mov dword [0x4976d0], 0x59ccba7
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x598]
call fcn.00413470
sub esp, 4
mov si, word [0x490c7c]
movsx ecx, si
or ecx, 0x7053abf
mov edx, dword [esp + 0x40]
cmp edx, ecx
mov dword [esp + 0x3c], eax
jne 0x42df0b
mov eax, dword [0x498f04]
and eax, 0x85b80210
mov dword [0x498f04], eax
mov eax, 0x4df48165
mov ecx, dword [esp + 0x5b0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x38], eax
call fcn.004387b0
mov eax, dword [0x496e7c]
inc eax
mov dword [0x496e7c], eax
mov ecx, dword [0x49b22c]
sar ecx, 8
add ecx, 0xd6dbedf9
and eax, ecx
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jle 0x42df7f
mov eax, dword [0x499844]
sar eax, 2
mov ecx, dword [0x497c1c]
shl ecx, 7
add eax, ecx
mov ecx, dword [0x49a974]
shl ecx, 7
and eax, ecx
mov ecx, dword [0x49b538]
xor ecx, eax
mov dword [0x49b538], ecx
lea eax, [esp + 0x598]
lea ecx, [esp + 0x127]
mov dword [esp + 0x34], ecx
mov ecx, eax
call fcn.0041ba20
lea ecx, [esp + 0x598]
mov dword [esp + 0x30], eax
call fcn.00446e40
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x2c], ecx
call fcn.0044cc80
cmp eax, 0
jne 0x42e113
mov eax, dword [0x49b788]
xor eax, 0x3669f3a3
mov dword [0x49b788], eax
mov eax, dword [0x490150]
mov ecx, esp
lea edx, [esp + 0x127]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
call eax
sub esp, 8
mov ecx, dword [0x49835c]
mov edx, ecx
inc edx
mov dword [0x49835c], edx
add ecx, 0xf00423a6
mov edx, dword [0x49a6e8]
sar edx, 4
or ecx, edx
mov edx, dword [0x49a7a0]
sar edx, 9
xor edx, 0x97b1417c
cmp ecx, edx
mov dword [esp + 0x28], eax
jle 0x42e055
mov eax, dword [0x49902c]
add eax, eax
mov ecx, dword [0x499df8]
xor ecx, eax
mov dword [0x499df8], ecx
mov eax, esp
lea ecx, [esp + 0x127]
mov dword [eax + 4], ecx
mov dword [eax], 0x49ce18
mov dword [esp + 0x24], ecx
call fcn.00456360
mov dx, word [0x4922ec]
mov cx, dx
add ecx, 0x85a93381
mov dx, cx
mov word [0x4922ec], dx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1580
mov dword [esp + 0x20], eax
call fcn.0044dc30
mov dword [esp + 0x5ac], eax
mov eax, dword [0x498060]
add eax, 0x15aa7032
mov dword [0x498060], eax
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
call fcn.00456370
mov dx, word [0x493a28]
mov cx, dx
add ecx, 0x3474b598
mov dx, cx
mov word [0x493a28], dx
mov ecx, dword [esp + 0x5ac]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0x1c], eax
call fcn.004387b0
mov eax, dword [0x497704]
add eax, 0x533cfff0
mov dword [0x497704], eax
mov eax, dword [0x49b254]
and eax, 0x19f90c9
mov dword [0x49b254], eax
mov eax, dword [0x49b0d0]
or eax, 0xbd56fefa
mov dword [0x49b0d0], eax
mov eax, dword [0x49accc]
or eax, 0xe0222c94
mov dword [0x49accc], eax
mov eax, esp
lea ecx, [esp + 0x127]
mov dword [eax], ecx
call fcn.004402e0
mov ecx, dword [0x495f7c]
shl ecx, 7
or ecx, 0xfb5fbe5f
cmp ecx, 0x493423c0
mov dword [esp + 0x18], eax
jl 0x42e1c2
mov eax, 0x88640441
mov ecx, dword [0x49bc74]
mov edx, ecx
dec edx
mov dword [0x49bc74], edx
xor ecx, 0xfcfab018
cmp eax, ecx
jge 0x42e1ae
mov ax, word [0x493450]
mov cx, ax
and ecx, 0x7f91
mov ax, cx
mov word [0x493450], ax
jmp 0x42e1bd
mov eax, dword [0x4983d8]
and eax, 0xd76fe6c3
mov dword [0x4983d8], eax
jmp 0x42e1c2
mov eax, dword [0x49015c]
mov ecx, esp
lea edx, [esp + 0x127]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov ecx, dword [0x49808c]
add ecx, 0x5e34e2d2
mov si, cx
mov word [0x492df4], si
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x471
mov dword [esp + 0x10], eax
call fcn.00447c30
mov eax, dword [0x4984b0]
or eax, 0xe4c98e63
mov dword [0x4984b0], eax
lea ecx, [esp + 0x598]
call fcn.00430180
add esp, 0x5d8
pop esi
pop edi
ret