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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x5cc
mov eax, 0x401c0220
mov ecx, dword [0x4986d8]
or ecx, 0xe960e712
mov dword [0x4986d8], ecx
lea ecx, [esp + 0x58c]
mov dword [esp + 0x110], eax
call fcn.0043d690
mov ecx, dword [0x497b18]
xor ecx, 0x95038a0b
mov dword [0x497b18], ecx
mov ecx, dword [0x496ac4]
mov edx, dword [0x494a90]
sar edx, 4
and ecx, edx
mov edx, dword [0x499ac0]
or edx, ecx
mov dword [0x499ac0], edx
mov si, word [0x49d7b2]
mov cx, si
imul ecx, ecx, 0xc632795f
mov si, cx
mov word [0x49d7b2], si
mov ecx, dword [0x4976a0]
not ecx
add ecx, 0xe4e46dde
mov edx, dword [0x494c68]
and ecx, edx
mov edx, dword [esp + 0x110]
cmp edx, ecx
mov dword [esp + 0x10c], eax
jl 0x40e7fa
mov eax, dword [0x49540c]
imul eax, eax, 0x1f2573b4
mov dword [0x49540c], eax
mov dword [esp + 0x114], 0
mov eax, dword [0x495ba8]
add eax, 0x41e304b1
mov dword [0x495ba8], eax
mov dword [0x49e420], 0x94
mov eax, dword [0x49a7c4]
mov ecx, eax
inc ecx
mov dword [0x49a7c4], ecx
mov ecx, dword [0x498efc]
add ecx, eax
mov dword [0x498efc], ecx
mov eax, dword [0x494960]
mov ecx, esp
mov dword [ecx], 0x49e420
call eax
sub esp, 4
mov dx, word [0x49c0ec]
movsx ecx, dx
shl ecx, 5
mov esi, dword [0x497934]
add esi, ecx
mov dword [0x497934], esi
mov dword [esp + 0x108], eax
call fcn.004180c0
mov dword [0x49edd0], eax
mov dx, word [0x49ddf2]
movsx eax, dx
mov ecx, 0xcfd4a5fd
sub ecx, eax
and ecx, 0x87b5a5a0
mov dword [0x4955a8], ecx
call fcn.00444980
mov dword [0x49edd4], eax
mov eax, dword [0x494e38]
and eax, 0x20301c40
mov dword [0x494e38], eax
mov eax, dword [0x49edd0]
cmp eax, 0
je 0x40eaa1
mov eax, dword [0x497f98]
mov ecx, dword [0x495804]
or ecx, eax
mov dword [0x495804], ecx
mov eax, esp
lea ecx, [esp + 0x125]
mov dword [eax], ecx
mov dword [esp + 0x104], ecx
call fcn.0041e7a0
mov dword [esp + 0x120], eax
mov eax, dword [0x4993d0]
imul eax, eax, 0x1908122
mov dword [0x4993d0], eax
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x125], 0x5c
mov dword [0x4959a0], 0x27d40bcf
mov eax, dword [esp + 0x120]
inc eax
mov dword [esp + 0x120], eax
mov eax, dword [0x498864]
mov ecx, dword [0x49a500]
add ecx, eax
mov dword [0x49a500], ecx
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x125], 0
mov dword [0x495ba4], 0xfffaff63
mov eax, dword [0x49ee10]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [ecx], eax
call fcn.00454f10
mov dx, word [0x49dda4]
mov cx, dx
or ecx, 0xe149
mov dx, cx
mov word [0x49dda4], dx
mov ecx, dword [0x4949a8]
mov esi, esp
mov edi, dword [esp + 0x104]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x100], eax
call ecx
sub esp, 8
mov ecx, dword [0x495104]
mov esi, dword [0x495660]
xor ecx, esi
xor ecx, 0x460b0167
mov dword [0x495660], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x32c4
mov dword [esp + 0xfc], eax
call fcn.00418300
mov dword [esp + 0x5c8], eax
mov eax, dword [0x497d14]
and eax, 0x220749d4
mov dword [0x497d14], eax
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [ecx], eax
call fcn.00454f10
mov ecx, dword [0x49647c]
mov esi, ecx
inc esi
mov dword [0x49647c], esi
mov esi, 0x80022f8f
sub esi, ecx
mov ecx, dword [0x495638]
sub ecx, esi
mov dword [0x495638], ecx
mov ecx, dword [esp + 0x5c8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
call fcn.00437a50
mov dx, word [0x49c03e]
movsx eax, dx
or eax, 0x5c8520ff
cmp eax, 0xde2606e7
jl 0x40ea9c
mov eax, 0x903d1303
mov ecx, dword [0x4999a8]
sub eax, ecx
cmp eax, 0xdaeb95f2
je 0x40ea97
mov eax, dword [0x497aa8]
mov ecx, dword [0x49aeec]
xor eax, ecx
mov dx, ax
mov word [0x49bad4], dx
jmp 0x40ea9c
jmp 0x40eac2
mov eax, dword [0x49536c]
or eax, 0x4dc30f90
mov dword [0x49536c], eax
mov byte [esp + 0x125], 0
mov dword [0x49a830], 0x14362ba0
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x125]
mov edx, dword [0x49868c]
mov si, word [0x49d2a6]
movsx edi, si
shl edi, 8
sub edx, edi
mov edi, dword [0x494e0c]
xor edi, edx
mov dword [0x494e0c], edi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x1d23
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.00418300
mov dword [esp + 0x5c4], eax
mov si, word [0x49e03e]
mov ax, si
inc eax
mov si, ax
mov word [0x49e03e], si
movsx eax, si
imul eax, eax, 0xfde0b3eb
or eax, 0x6aceb335
mov ecx, dword [0x4976d8]
and ecx, eax
mov dword [0x4976d8], ecx
mov eax, dword [esp + 0x5c4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.0043ee60
sub esp, 4
mov si, word [0x49b354]
mov cx, si
and ecx, 0x400f
mov si, cx
mov word [0x49b354], si
mov ecx, dword [esp + 0x5c4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.00437a50
mov eax, dword [0x499bb0]
imul eax, eax, 0xfc39dd28
mov ecx, dword [0x4999cc]
or ecx, eax
mov dword [0x4999cc], ecx
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.0042a190
lea ecx, [esp + 0x58c]
mov dword [esp + 0xe8], eax
call fcn.00403ca0
mov ecx, 0x861d9fa
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], 0x861d9fa
mov dword [esp + 0xe4], ecx
call fcn.0044f4b0
cmp eax, 0
je 0x40ecd2
mov eax, dword [0x495770]
and eax, 0x8167afd
mov dword [0x495770], eax
mov dword [esp + 0x114], 1
mov eax, dword [0x499b98]
xor eax, 0x40e179b8
mov dword [0x499b98], eax
mov eax, dword [0x494934]
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [esp + 0xe0], edx
call eax
sub esp, 4
mov ecx, dword [0x4985e4]
not ecx
mov edx, dword [0x499e00]
sub edx, ecx
mov dword [0x499e00], edx
mov ecx, dword [esp + 0x120]
mov byte [esp + ecx + 0x125], 0
mov ecx, dword [0x49521c]
imul ecx, ecx, 0x3fc2cec9
mov dword [0x49521c], ecx
mov ecx, dword [0x4949ac]
mov edx, esp
mov esi, dword [esp + 0xe0]
mov dword [edx], esi
mov dword [esp + 0xdc], eax
call ecx
sub esp, 4
mov di, word [0x49d9b0]
movsx ecx, di
xor ecx, 0x7e2aa4b4
mov edx, dword [0x496efc]
sub edx, ecx
mov dword [0x496efc], edx
mov dword [esp + 0xd8], eax
mov eax, 0xf711e329
mov cx, word [0x49b16e]
movsx edx, cx
xor edx, 0x46cdc960
cmp eax, edx
jle 0x40ecfe
mov eax, dword [0x49a190]
add eax, 0xacdc7921
mov dword [0x49a190], eax
mov eax, 0x68577add
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], edx
call fcn.0041e7a0
mov ecx, dword [0x497084]
add ecx, 0xd9de5126
mov dword [0x497084], ecx
mov byte [esp + 0x128], 0
mov si, word [0x49b634]
mov cx, si
imul ecx, ecx, 0x572f51ce
mov si, cx
mov word [0x49b634], si
mov ecx, dword [0x49ee10]
mov edx, esp
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xd0]
mov dword [edx], ecx
mov dword [esp + 0xcc], eax
call fcn.00454f10
mov ecx, dword [0x494cc8]
inc ecx
mov dword [0x494cc8], ecx
mov edx, dword [esp + 0xd4]
cmp edx, ecx
mov dword [esp + 0xc8], eax
je 0x40edd8
mov eax, 0x28129883
mov ecx, dword [0x4967fc]
imul ecx, ecx, 0x6ece22de
cmp eax, ecx
jg 0x40edd3
mov eax, dword [0x49784c]
inc eax
mov dword [0x49784c], eax
mov cx, word [0x49d18a]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x49d18a], cx
jmp 0x40edd8
mov eax, dword [0x4949a8]
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0xc4], edx
call eax
sub esp, 8
mov si, word [0x49b53c]
mov cx, si
add ecx, 0x4ac7b8fc
mov si, cx
mov word [0x49b53c], si
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49e644
mov dword [esp + 0xc0], eax
call fcn.00454f00
mov ecx, dword [0x499610]
imul ecx, ecx, 0x85041802
mov dword [0x499610], ecx
cmp dword [esp + 0x114], 0
mov dword [esp + 0xbc], eax
jne 0x40ef20
mov eax, 0xf155e682
mov ecx, dword [0x4979b0]
dec ecx
mov dword [0x4979b0], ecx
sub eax, ecx
cmp eax, 0xc727cf3e
je 0x40eeb9
mov eax, dword [0x4962bc]
sub eax, 0x27952670
cmp eax, 0x72e95fc4
jg 0x40eeb4
mov eax, dword [0x498050]
and eax, 0xdb49d796
mov cx, word [0x49dc70]
movsx edx, cx
cmp eax, edx
jle 0x40eeaf
jmp 0x40eeaf
jmp 0x40eeb4
jmp 0x40eeda
mov eax, dword [0x49a188]
mov ecx, eax
dec ecx
mov dword [0x49a188], ecx
or eax, 0x520004
mov ecx, dword [0x498634]
add ecx, eax
mov dword [0x498634], ecx
mov eax, 0xe5f68f2d
mov dword [0x49edcc], 0
mov ecx, dword [0x4961f0]
mov edx, ecx
inc edx
mov dword [0x4961f0], edx
imul ecx, ecx, 0x985115d5
and ecx, 0xa342312d
cmp eax, ecx
jge 0x40ef1b
mov eax, dword [0x49aee4]
or eax, 0x44d8140
mov dword [0x49aee4], eax
jmp 0x40ef20
mov ax, word [0x49d446]
movsx ecx, ax
add ecx, 0x83a1abe3
mov edx, dword [0x49ad3c]
or edx, ecx
mov dword [0x49ad3c], edx
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [esp + 0xb8], edx
call fcn.00417590
mov dword [esp + 0x120], eax
mov si, word [0x49d27a]
mov ax, si
or eax, 0xfbfa
mov si, ax
mov word [0x49d27a], si
mov eax, dword [0x4949a8]
mov ecx, esp
mov edx, dword [esp + 0xb8]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x497c88]
and ecx, 0x12bb6a27
mov dword [0x497c88], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x32c4
mov dword [esp + 0xb4], eax
call fcn.00418300
mov dword [esp + 0x5c0], eax
mov eax, dword [0x49a804]
add eax, 0xb4881876
mov dword [0x49a804], eax
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [ecx], eax
call fcn.00454f10
mov si, word [0x49c024]
movsx ecx, si
add ecx, 0x754a35eb
cmp ecx, 0xcee1f51e
mov dword [esp + 0xb0], eax
jg 0x40f028
mov ax, word [0x49e3a0]
mov cx, ax
add ecx, 0xd427fffb
mov ax, cx
mov word [0x49e3a0], ax
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x1d23
call fcn.00418300
mov dword [esp + 0x5bc], eax
mov cx, word [0x49d6c2]
movsx eax, cx
xor eax, 0xa804ceec
cmp eax, 0xf9146f4b
jge 0x40f071
mov eax, dword [0x498a9c]
xor eax, 0x7597273a
mov dword [0x498a9c], eax
jmp 0x40f080
mov eax, dword [0x4966c4]
add eax, 0x5b9221b9
mov dword [0x4966c4], eax
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x125]
mov edx, dword [esp + 0x5c0]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
call fcn.00437a50
mov dword [0x49aaf4], 0x5eebc77e
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.0043ee60
sub esp, 4
mov ecx, dword [0x4966ac]
and ecx, 0xdddfff6e
mov dword [0x4966ac], ecx
mov ecx, dword [esp + 0x5bc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa4], eax
call fcn.00437a50
mov eax, dword [0x49576c]
xor eax, 0x5a037d38
mov dword [0x49576c], eax
mov eax, dword [esp + 0xac]
mov ecx, eax
call fcn.0042a190
lea ecx, [esp + 0x58c]
mov dword [esp + 0xa0], eax
call fcn.00403ca0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x9c], ecx
call fcn.0044f4b0
cmp eax, 0
jne 0x40fdd1
mov eax, dword [0x49640c]
xor eax, 0x41010
mov dword [0x49640c], eax
cmp dword [0x49e424], 6
jb 0x40f239
mov eax, dword [0x494c28]
add eax, 0xd2d1a0c4
mov dword [0x494c28], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x5200
call fcn.00418300
mov dword [esp + 0x5b8], eax
mov cx, word [0x49bc3e]
mov ax, cx
add eax, 0x7ef1d62f
mov cx, ax
mov word [0x49bc3e], cx
mov eax, dword [esp + 0x5b8]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x125]
mov dword [edx], eax
mov dword [edx + 8], 0x49e4b4
call fcn.0045518f
mov cx, word [0x49dd30]
mov dx, cx
add edx, 0x1dc7e048
mov cx, dx
mov word [0x49dd30], cx
mov edx, dword [esp + 0x5b8]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x12
mov dword [esp + 0x98], eax
call fcn.00437a50
mov dword [0x498c54], 0xc3c6f203
jmp 0x40f3c8
mov eax, 0x67504477
mov ecx, dword [0x49a2a0]
inc ecx
mov dword [0x49a2a0], ecx
and ecx, 0xf443781d
xor ecx, 0x4403b330
mov edx, dword [0x49a92c]
or edx, ecx
mov dword [0x49a92c], edx
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0x39
mov dword [esp + 0x94], eax
call fcn.00418300
mov dword [esp + 0x5b4], eax
mov eax, dword [0x499050]
mov ecx, eax
dec ecx
mov dword [0x499050], ecx
mov ecx, dword [0x49689c]
xor ecx, 0xffffffff
sub ecx, 0xc32ea5b4
or eax, ecx
mov ecx, dword [esp + 0x94]
cmp ecx, eax
jge 0x40f324
mov eax, 0x53b1d082
mov ecx, dword [0x49af70]
inc ecx
mov dword [0x49af70], ecx
or ecx, 0x60ca2711
cmp eax, ecx
jge 0x40f300
mov eax, dword [0x49a1ac]
mov ecx, eax
dec ecx
mov dword [0x49a1ac], ecx
add eax, 0x3303b8a2
and eax, 0xcd0e02a5
mov ecx, dword [0x49a7d8]
sub ecx, eax
mov dword [0x49a7d8], ecx
jmp 0x40f31f
mov eax, dword [0x4987b4]
imul eax, eax, 0xfbe13a9f
add eax, 0x498f2b1d
mov ecx, dword [0x49925c]
imul ecx, eax
mov dword [0x49925c], ecx
jmp 0x40f324
mov eax, 0x2069bef1
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x125]
mov dword [edx], ecx
mov dword [edx + 8], 0x49e4b4
mov dword [esp + 0x90], eax
call fcn.0045518f
mov ecx, dword [0x495418]
or ecx, 0xd0732128
mov dword [0x495418], ecx
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x24
mov dword [esp + 0x8c], eax
call fcn.00437a50
mov eax, dword [0x498900]
mov ecx, eax
dec ecx
mov dword [0x498900], ecx
mov ecx, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xfb7f7c2
jg 0x40f3c3
mov eax, dword [0x4975f8]
dec eax
mov dword [0x4975f8], eax
imul eax, eax, 0xf83a41ad
mov ecx, dword [0x495c30]
add ecx, eax
mov dword [0x495c30], ecx
jmp 0x40f3c8
mov eax, dword [0x4985ac]
lea eax, [eax + eax + 0x741945b9]
xor eax, 0xcf8dca93
mov ecx, dword [0x494b44]
sub ecx, eax
mov dword [0x494b44], ecx
mov byte [esp + 0x58b], 0
mov eax, dword [0x498700]
imul eax, eax, 0xd8eeb790
mov dword [0x498700], eax
mov eax, dword [0x49ee10]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x125]
mov dword [ecx], eax
mov dword [esp + 0x88], eax
call fcn.00454f10
mov dx, word [0x49e14a]
mov cx, dx
imul ecx, ecx, 0x6a9bd422
mov dx, cx
mov word [0x49e14a], dx
mov ecx, dword [0x4949a8]
mov esi, esp
mov edi, dword [esp + 0x88]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x84], eax
call ecx
sub esp, 8
mov ecx, dword [0x499344]
mov esi, dword [0x496398]
xor esi, ecx
mov dword [0x496398], esi
mov ecx, esp
mov esi, dword [esp + 0x88]
mov dword [ecx + 4], esi
mov dword [ecx], 0x49e644
mov dword [esp + 0x80], eax
call fcn.00454f00
mov ecx, dword [0x495edc]
mov esi, dword [0x499d34]
sub ecx, esi
mov esi, dword [0x498d20]
or esi, ecx
mov dword [0x498d20], esi
mov ecx, esp
mov esi, dword [esp + 0x88]
mov dword [ecx], esi
mov dword [esp + 0x7c], eax
call fcn.00417590
mov dword [esp + 0x120], eax
mov dx, word [0x49c22c]
movsx eax, dx
mov ecx, dword [0x499eec]
not ecx
or eax, ecx
mov dword [0x4959d4], eax
mov eax, dword [0x4949a8]
mov ecx, esp
mov esi, dword [esp + 0x88]
mov dword [ecx], esi
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x49a1f8]
mov esi, ecx
dec esi
mov dword [0x49a1f8], esi
add ecx, 0x9ef00377
mov dx, word [0x49cfa0]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x49cfa0], dx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x32c4
mov dword [esp + 0x78], eax
call fcn.00418300
mov dword [esp + 0x5b0], eax
mov eax, dword [0x499e4c]
inc eax
mov dword [0x499e4c], eax
mov dx, word [0x49b952]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x49b952], dx
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x88]
mov dword [ecx], eax
call fcn.00454f10
mov ecx, dword [0x497808]
add ecx, 0x5ec3876a
mov dword [0x497808], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1d23
mov dword [esp + 0x74], eax
call fcn.00418300
mov dword [esp + 0x5ac], eax
mov dword [0x4984a4], 0x6823c712
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00437a50
mov eax, dword [0x49ac10]
mov ecx, eax
dec ecx
mov dword [0x49ac10], ecx
mov ecx, dword [0x499b6c]
sar ecx, 9
add ecx, 0x616b183d
and eax, ecx
mov ecx, dword [0x49a184]
sub ecx, eax
mov dword [0x49a184], ecx
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.0043ee60
sub esp, 4
mov ecx, dword [0x49a3c8]
mov esi, ecx
inc esi
mov dword [0x49a3c8], esi
xor ecx, 0x7909a24c
mov dx, word [0x49ce6e]
movsx esi, dx
mov dx, word [0x49e238]
mov di, dx
inc edi
mov bx, di
mov word [0x49e238], bx
movsx edi, dx
xor esi, edi
cmp ecx, esi
mov dword [esp + 0x70], eax
jne 0x40f6c2
mov eax, 0xbc5c3f11
mov ecx, dword [0x496b4c]
mov dx, word [0x49be34]
movsx esi, dx
xor esi, 0xffffffff
add esi, 0x714e6f21
or ecx, esi
cmp eax, ecx
jl 0x40f699
mov eax, dword [0x496f84]
xor eax, 0x3304d155
mov dword [0x496f84], eax
jmp 0x40f6bd
mov eax, 0xb6330bfb
mov cx, word [0x49b4aa]
movsx edx, cx
sar edx, 9
cmp eax, edx
jge 0x40f6b8
jmp 0x40f6b8
jmp 0x40f6bd
jmp 0x40f6c2
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x125]
mov edx, dword [esp + 0x5ac]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
call fcn.00437a50
mov dword [0x49a41c], 0x1110051
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.0042a190
lea ecx, [esp + 0x58c]
mov dword [esp + 0x64], eax
call fcn.00403ca0
mov ecx, 0x861d9fa
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x861d9fa
mov dword [esp + 0x60], ecx
call fcn.0044f4b0
cmp eax, 0
jne 0x40fdc2
mov eax, dword [0x49a268]
mov ecx, eax
inc ecx
mov dword [0x49a268], ecx
imul eax, eax, 0x58d1b2ee
mov ecx, dword [0x499c30]
mov edx, ecx
dec edx
mov dword [0x499c30], edx
xor eax, ecx
cmp eax, 0xfc0d11ca
je 0x40f795
mov ax, word [0x49d38a]
movsx ecx, ax
mov edx, 0x3d849fee
sub edx, ecx
mov ecx, dword [0x495b14]
imul ecx, edx
mov dword [0x495b14], ecx
mov eax, dword [0x494950]
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x5c], edx
call eax
sub esp, 8
mov ecx, dword [0x495d7c]
add ecx, 0x3dbdb79f
mov edx, dword [0x499bf8]
sub edx, ecx
mov dword [0x499bf8], edx
mov ecx, esp
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov dword [esp + 0x58], eax
call fcn.00451d60
mov dword [esp + 0x120], eax
mov eax, dword [0x49a96c]
xor eax, 0xffffffff
cmp eax, 0x54fbbb4c
jle 0x40f803
mov word [0x49c664], 0x10bf
mov eax, dword [esp + 0x120]
add eax, 0xfffffffe
mov dword [esp + 0x120], eax
mov eax, dword [0x495340]
dec eax
mov dword [0x495340], eax
xor eax, 0x7863d1c2
cmp eax, 0x2ae372d8
jle 0x40f83f
mov eax, dword [0x49825c]
imul eax, eax, 0xfe353eb7
mov dword [0x49825c], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x11c], eax
cmp dword [esp + 0x11c], 0
jle 0x40f950
mov eax, dword [0x495298]
xor eax, 0xd8be5dd9
mov dword [0x495298], eax
mov eax, dword [esp + 0x11c]
movsx eax, byte [esp + eax + 0x125]
cmp eax, 0x5c
jne 0x40f92b
mov eax, dword [0x494eb4]
not eax
or eax, 0x9a64a522
mov dword [0x498b6c], eax
mov eax, dword [esp + 0x11c]
inc eax
mov dword [esp + 0x11c], eax
mov eax, dword [0x495e84]
xor eax, 0x242
mov cx, word [0x49bab0]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49bab0], cx
mov eax, dword [esp + 0x11c]
mov byte [esp + eax + 0x125], 0
mov cx, word [0x49bf98]
mov ax, cx
add eax, 0x746fe04c
or eax, 0x4b45
mov cx, word [0x49bc7e]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x49bc7e], cx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x120], eax
mov cx, word [0x49d1fe]
movsx eax, cx
mov edx, dword [0x499084]
lea eax, [eax + edx - 0x6e8af577]
mov dword [0x499084], eax
jmp 0x40f950
mov eax, dword [0x494ff4]
add eax, 0xcfa5136d
mov dword [0x494ff4], eax
mov eax, dword [esp + 0x11c]
add eax, 0xffffffff
mov dword [esp + 0x11c], eax
jmp 0x40f84d
mov eax, 0xa876c9ec
mov ecx, dword [0x499c24]
mov edx, ecx
dec edx
mov dword [0x499c24], edx
mov edx, dword [0x4952cc]
shl edx, 3
neg edx
lea ecx, [ecx + edx - 1]
mov edx, dword [0x4954f8]
sub edx, ecx
mov dword [0x4954f8], edx
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49e644
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.00454f00
mov ecx, dword [0x49934c]
and ecx, 0xbf21062d
mov dword [0x49934c], ecx
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
call fcn.00417590
mov dword [esp + 0x120], eax
mov eax, dword [0x499bec]
or eax, 0x2a417e3e
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jg 0x40f9ef
mov eax, dword [0x49a8cc]
add eax, 0x52b6503d
mov dword [0x49a8cc], eax
mov eax, dword [0x4949a8]
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x48], edx
call eax
sub esp, 8
mov ecx, dword [0x49a9fc]
imul ecx, ecx, 0xf2558ff6
mov dword [0x49a9fc], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x32c4
mov dword [esp + 0x44], eax
call fcn.00418300
mov dword [esp + 0x5a8], eax
mov eax, dword [0x499c9c]
and eax, 0xfff8fedf
mov dword [0x499c9c], eax
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.00454f10
mov si, word [0x49bef8]
movsx ecx, si
mov si, word [0x49d2b2]
movsx edx, si
add ecx, edx
mov edx, dword [0x4983cc]
imul edx, ecx
mov dword [0x4983cc], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1d23
mov dword [esp + 0x40], eax
call fcn.00418300
mov dword [esp + 0x5a4], eax
mov word [0x49b87c], 0xe032
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00437a50
mov eax, dword [0x499208]
imul eax, eax, 0xf890770
mov ecx, dword [0x494a90]
xor ecx, eax
mov dword [0x494a90], ecx
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.0043ee60
sub esp, 4
mov ecx, dword [0x495b18]
or ecx, 0x47a5e1e6
mov edx, dword [0x49aad8]
add edx, ecx
mov dword [0x49aad8], edx
mov ecx, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x3c], eax
call fcn.00437a50
mov eax, dword [0x49ad10]
xor eax, 0xffffffff
sub eax, 0xfa135897
add eax, 0x5b94e4c9
cmp eax, 0x996eedb4
jle 0x40fbbc
mov eax, 0x3dd235eb
mov cx, word [0x49e0f0]
movsx edx, cx
sar edx, 3
cmp eax, edx
jle 0x40fb8d
mov ax, word [0x49cef0]
movsx ecx, ax
not ecx
imul ecx, ecx, 0xeaa691b9
mov edx, dword [0x49a900]
sub edx, ecx
mov dword [0x49a900], edx
jmp 0x40fbb7
mov eax, dword [0x497cec]
imul eax, eax, 0xa146363a
xor eax, 0x66c00657
cmp eax, 0x3401124a
jle 0x40fbad
jmp 0x40fbb2
jmp 0x40fbb2
jmp 0x40fbb7
jmp 0x40fbbc
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x125]
mov dword [esp + 0x38], ecx
mov ecx, eax
call fcn.0042a190
lea ecx, [esp + 0x58c]
mov dword [esp + 0x34], eax
call fcn.00403ca0
mov ecx, 0x861d9fa
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], 0x861d9fa
mov dword [esp + 0x30], ecx
call fcn.0044f4b0
cmp eax, 0
jne 0x40fda1
mov eax, 0x5c41b047
mov ecx, dword [0x49b0bc]
and ecx, 0x96f4de6b
mov dword [0x49b0bc], ecx
mov ecx, dword [0x494950]
mov edx, esp
lea esi, [esp + 0x125]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
call ecx
sub esp, 8
mov ecx, dword [0x49a314]
mov edx, dword [0x496058]
lea ecx, [ecx + edx - 0x4ae098a4]
mov dword [0x496058], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov dword [ecx], 0x49e644
mov dword [esp + 0x24], eax
call fcn.00454f00
mov ecx, dword [0x49728c]
add ecx, 0xf8a13afd
mov dword [0x49728c], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x32c4
mov dword [esp + 0x20], eax
call fcn.00418300
mov dword [esp + 0x5a0], eax
mov di, word [0x49c5a8]
movsx eax, di
mov ecx, dword [0x498600]
sar ecx, 9
add eax, ecx
add eax, 0x47ae4036
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jne 0x40fcff
mov eax, dword [0x4956a4]
mov ecx, eax
inc ecx
mov dword [0x4956a4], ecx
mov dx, word [0x49debc]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x49debc], dx
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x125]
mov dword [ecx], eax
call fcn.00454f10
mov ecx, dword [0x494ad0]
mov dword [0x49afc0], ecx
mov ecx, dword [esp + 0x5a0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x1c], eax
call fcn.00437a50
mov eax, dword [0x4963cc]
add eax, 0x6edd1726
and eax, 0x2cbc0f9b
cmp eax, 0x5350dfb3
jge 0x40fd72
mov eax, dword [0x49b024]
mov ecx, dword [0x4963c4]
add ecx, eax
mov dword [0x4963c4], ecx
jmp 0x40fd9c
mov ax, word [0x49bba0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49bba0], dx
movsx ecx, ax
mov esi, dword [0x49ac48]
lea ecx, [ecx + esi - 0x8f2bc6e]
mov dword [0x49ac48], ecx
jmp 0x40fda1
mov eax, dword [0x496d98]
mov ecx, eax
inc ecx
mov dword [0x496d98], ecx
add eax, 0xa241a352
mov ecx, dword [0x494c7c]
and ecx, eax
mov dword [0x494c7c], ecx
mov eax, dword [0x4960a0]
and eax, 0xf9f031c8
mov dword [0x4960a0], eax
mov eax, dword [0x498138]
imul eax, eax, 0xca089f24
mov ecx, dword [0x497304]
add ecx, eax
mov dword [0x497304], ecx
mov eax, esp
lea ecx, [esp + 0x125]
mov dword [eax], ecx
call fcn.00417590
mov dx, word [0x49caba]
movsx ecx, dx
mov esi, dword [0x498f00]
and ecx, esi
cmp ecx, 0x82b4fc4
mov dword [esp + 0x18], eax
jl 0x40fe26
mov dword [0x499118], 0xfda5cbec
mov eax, dword [0x49495c]
mov ecx, esp
lea edx, [esp + 0x125]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov ecx, dword [0x496168]
add ecx, 0xa2400a1
mov dword [0x496168], ecx
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x467
mov dword [esp + 0x10], eax
call fcn.0041e600
mov si, word [0x49cb9c]
mov ax, si
inc eax
mov si, ax
mov word [0x49cb9c], si
movsx eax, si
add eax, 0xd607ee27
and eax, 0x83ea8ed2
cmp eax, 0x6e8fe93f
jge 0x40febb
mov eax, dword [0x495584]
inc eax
mov dword [0x495584], eax
mov ecx, dword [0x498890]
or ecx, eax
mov dword [0x498890], ecx
jmp 0x40fed8
mov ax, word [0x49cc06]
movsx ecx, ax
or ecx, 0xa776d274
mov edx, dword [0x495f60]
xor edx, ecx
mov dword [0x495f60], edx
lea ecx, [esp + 0x58c]
call fcn.0041e5d0
add esp, 0x5cc
pop esi
pop edi
pop ebx
ret