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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov al, byte [ebp + 0xc]
mov edx, dword [ebp + 8]
and al, 1
mov byte [esp + 0x15b], al
mov dword [esp + 0x154], edx
mov dword [esp + 0x150], ecx
mov edx, ecx
mov esi, dword [0x4919b8]
add esi, 0x430ce383
mov dword [0x4919b8], esi
mov dword [esp + 0x14c], 0
mov esi, dword [0x491a68]
mov edi, esi
dec edi
mov dword [0x491a68], edi
imul esi, esi, 0xe584607f
or esi, 0xce82
mov bx, word [0x4921f8]
mov di, bx
and edi, esi
mov bx, di
mov word [0x4921f8], bx
mov esi, esp
mov dword [esi], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], edx
call fcn.00450e50
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], eax
mov eax, dword [0x4918d8]
imul eax, eax, 0x6f616f3d
mov dword [0x491634], eax
mov byte [esp + 0x13f], 0
mov eax, dword [0x491550]
mov ecx, dword [0x491df8]
sub ecx, eax
mov dword [0x491df8], ecx
mov eax, dword [0x491404]
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
call eax
sub esp, 4
mov bx, word [0x492182]
mov ax, bx
imul eax, eax, 0x6774eadf
mov bx, ax
mov word [0x492182], bx
test byte [esp + 0x15b], 1
je 0x40b594
mov eax, dword [0x491910]
mov ecx, eax
dec ecx
mov dword [0x491910], ecx
mov ecx, 0x34cee0fd
sub ecx, eax
mov dword [0x491630], ecx
mov eax, dword [esp + 0xac]
add eax, 0x18
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x18]
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], esi
jmp 0x40b519
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
xor edx, edx
mov dword [esp + 0x9c], eax
mov eax, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x98], edx
mov edx, ecx
mov ebx, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xa8]
lock cmpxchg8b qword [esi]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
jne 0x40b519
jmp 0x40b574
mov eax, dword [0x491c9c]
and eax, 0x7e0f
mov cx, word [0x492208]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x492208], cx
mov eax, dword [0x491864]
or eax, 0xe812cc06
mov dword [0x491864], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
mov esi, dword [esp + 0xac]
lock cmpxchg8b qword [esi + 0x18]
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x144]
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], ebx
jae 0x40b69a
jmp 0x40b5f8
mov eax, 0xe0005028
mov ecx, dword [0x491ca0]
add ecx, 0x9ed99c13
mov edx, dword [0x491cf8]
or ecx, edx
cmp eax, ecx
jle 0x40b628
mov eax, dword [0x491b40]
or eax, 0xc8a1d60a
mov dword [0x491b40], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x28]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov dword [eax + 4], esi
mov dword [eax], edx
mov eax, dword [0x491dc8]
xor eax, 0xc29c464f
mov edx, dword [0x4916a0]
imul edx, eax
mov dword [0x4916a0], edx
mov dword [esp + 0x14c], 1
mov di, word [0x492238]
movsx eax, di
cmp eax, 0x82bb4d92
je 0x40b695
mov eax, dword [0x491a5c]
or eax, 0xab17d31c
mov dword [0x491a5c], eax
jmp 0x40b6c1
mov eax, dword [0x4917f8]
xor eax, 0x3ff72703
mov dword [0x4917f8], eax
mov byte [esp + 0x13f], 1
mov eax, dword [0x491afc]
imul eax, eax, 0x5c868f3e
mov dword [0x491afc], eax
mov eax, dword [0x491880]
mov ecx, eax
inc ecx
mov dword [0x491880], ecx
add eax, 0xa32a9f0
mov ecx, dword [0x4919ec]
xor ecx, eax
mov dword [0x4919ec], ecx
mov eax, dword [0x491408]
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [0x4916c0], 0xbda1fca2
test byte [esp + 0x13f], 1
je 0x40c9c6
mov eax, 0x10443400
mov ecx, dword [0x49179c]
sar ecx, 5
mov dword [0x49161c], ecx
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dx, word [0x492188]
movsx ecx, dx
mov esi, dword [0x49177c]
add esi, ecx
mov dword [0x49177c], esi
mov dword [esp + 0x12c], 0
mov dx, word [0x492244]
movsx ecx, dx
xor ecx, 0x63c47332
mov esi, dword [0x491ea4]
and esi, ecx
mov dword [0x491ea4], esi
mov ecx, esp
mov dword [ecx + 4], 0x600
mov dword [ecx], 0x36c6
mov dword [esp + 0x88], eax
call fcn.004066f0
mov dword [esp + 0x128], eax
mov dx, word [0x49224c]
mov ax, dx
dec eax
mov dx, ax
mov word [0x49224c], dx
movsx eax, dx
add eax, 0xbce7258c
mov ecx, dword [0x4916ec]
sub ecx, eax
mov dword [0x4916ec], ecx
mov eax, dword [esp + 0x128]
mov bl, byte [eax]
mov byte [esp + 0x127], bl
mov eax, dword [0x4917c0]
imul eax, eax, 0x28b3cc58
mov dword [0x4917c0], eax
mov eax, dword [0x4916e8]
add eax, 0xdf9fe3b7
and eax, 0xb36105a0
mov dword [0x491bd0], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov eax, dword [0x491bc0]
imul eax, eax, 0x25b25473
mov dword [0x491bc0], eax
mov word [esp + 0x110], 2
mov dword [0x491ce8], 0x59c5e456
mov dx, word [0x4920fc]
movsx eax, dx
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jl 0x40b852
mov eax, dword [0x4916ac]
add eax, 0x491d4904
mov dword [0x4916ac], eax
mov eax, 0x5640dc09
mov dword [esp + 0xfd], 0x13
mov cx, word [0x4923d4]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4923d4], cx
movsx edx, cx
mov esi, dword [0x491748]
imul edx, esi
imul edx, edx, 0xe3654a9b
mov dword [0x491748], edx
mov dword [esp + 0x101], 0
mov cx, word [0x4922ac]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4922ac], cx
movsx edx, cx
cmp eax, edx
jle 0x40b8f3
mov ax, word [0x491f5e]
movsx ecx, ax
shl ecx, 8
mov edx, dword [0x49194c]
mov esi, edx
inc esi
mov dword [0x49194c], esi
imul ecx, edx
cmp ecx, 0x7ea2c74a
jl 0x40b8ee
mov dword [0x4919b0], 0x1168d88a
jmp 0x40b8f3
mov dword [esp + 0x105], 7
mov eax, dword [0x491718]
and eax, 0x64a325e1
mov dword [0x491718], eax
mov byte [esp + 0x109], 3
mov dword [0x491b70], 0xbddc820e
lea eax, [esp + 0xe8]
mov ecx, eax
mov dword [esp + 0x84], eax
call fcn.0043cde0
mov ecx, dword [0x491eb8]
imul ecx, ecx, 0x7eee9fb7
mov dword [0x491eb8], ecx
movzx ecx, byte [esp + 0x127]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x80], eax
call fcn.00439850
sub esp, 8
mov si, word [0x49237c]
mov ax, si
inc eax
mov si, ax
mov word [0x49237c], si
movsx eax, si
add eax, 0x8550b0e7
mov ecx, dword [0x491b18]
xor ecx, 0x798ce590
cmp eax, ecx
jl 0x40b9aa
mov dword [0x4916dc], 0xb7fc5026
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x40ba3f
mov eax, dword [0x491f08]
not eax
add eax, 0xdf16b50a
mov ecx, dword [0x4916ec]
mov edx, ecx
dec edx
mov dword [0x4916ec], edx
xor eax, ecx
mov si, word [0x491f8a]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x491f8a], si
mov eax, esp
lea ecx, [esp + 0xe4]
mov dword [eax], ecx
lea ecx, [esp + 0xe8]
call fcn.0041e010
sub esp, 4
mov eax, dword [0x491cec]
or eax, 0xceefc7e2
mov dword [0x491cec], eax
mov eax, dword [esp + 0xe4]
add eax, 1
mov dword [esp + 0xe4], eax
jmp 0x40b9b5
mov eax, 0x5e25ef46
mov ecx, dword [0x491ae4]
sub ecx, 0x2ceb8ad5
cmp eax, ecx
jge 0x40bab1
mov eax, 0x32898568
mov cx, word [0x492462]
mov dx, cx
inc edx
mov cx, dx
mov word [0x492462], cx
movsx edx, cx
cmp eax, edx
jge 0x40baac
mov eax, 0xcdb54bb2
mov cx, word [0x4923ce]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4923ce], cx
movsx edx, cx
cmp eax, edx
jg 0x40baa7
jmp 0x40baa7
jmp 0x40baac
jmp 0x40bab1
mov eax, esp
lea ecx, [esp + 0xe8]
mov dword [eax], ecx
call fcn.0041ed20
mov eax, dword [0x491740]
shl eax, 7
xor eax, 0x1c8e68f0
mov ecx, dword [0x491928]
dec ecx
mov dword [0x491928], ecx
cmp eax, ecx
jle 0x40baf6
mov eax, dword [0x491ef4]
mov ecx, dword [0x49180c]
sub ecx, eax
mov dword [0x49180c], ecx
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x40c68e
mov eax, 0x6ca15254
mov cx, word [0x491fb0]
mov dx, cx
mov esi, edx
dec esi
mov cx, si
mov word [0x491fb0], cx
mov cx, word [0x49243a]
mov si, cx
mov edi, dword [0x491e0c]
imul esi, edi
shl esi, 6
add edx, esi
mov cx, dx
mov word [0x491f5e], cx
mov edx, dword [esp + 0xe0]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0xe8]
mov ecx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
call fcn.00417f50
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*2 + 1]
mov dword [esp + 0x114], eax
mov eax, dword [0x491edc]
imul eax, eax, 0xc4b787b0
mov dword [0x491edc], eax
mov eax, dword [esp + 0xe0]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x78]
call fcn.00417f50
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x128]
mov bx, word [ecx + eax*2 + 5]
mov word [esp + 0x112], bx
mov eax, dword [0x4916ec]
mov ecx, dword [0x491b28]
mov edx, ecx
inc edx
mov dword [0x491b28], edx
and eax, ecx
or eax, 0x6158645f
mov ecx, dword [0x4916e8]
imul ecx, eax
mov dword [0x4916e8], ecx
lea ecx, [esp + 0xcc]
call fcn.00425880
mov bx, word [0x492230]
movsx ecx, bx
or ecx, 0xce95513b
mov edx, dword [esp + 0x7c]
cmp edx, ecx
mov dword [esp + 0x74], eax
jl 0x40bc5e
mov eax, 0x861fd5e3
mov ecx, dword [0x4914f4]
add ecx, 0xa239e103
cmp eax, ecx
jg 0x40bc59
mov eax, dword [0x491e00]
imul eax, eax, 0xcffb048f
mov ecx, dword [0x491c38]
or ecx, eax
mov dword [0x491c38], ecx
jmp 0x40bc5e
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10a], eax
mov cx, word [0x492054]
mov ax, cx
dec eax
mov dx, ax
mov word [0x492054], dx
movsx eax, cx
mov esi, 0x27c79052
sub esi, eax
mov cx, word [0x492240]
mov ax, cx
inc eax
mov dx, ax
mov word [0x492240], dx
movsx eax, cx
sub esi, eax
mov eax, dword [0x4917f4]
mov edi, eax
inc edi
mov dword [0x4917f4], edi
sub eax, 0x55ca9c38
cmp esi, eax
jg 0x40bd22
mov eax, 0xa9d341ce
mov cx, word [0x4923aa]
mov dx, cx
inc edx
mov si, dx
mov word [0x4923aa], si
movsx edx, cx
cmp eax, edx
jle 0x40bcf9
mov eax, dword [0x4914cc]
add eax, 0x3eefda6e
mov dword [0x4914cc], eax
jmp 0x40bd1d
mov eax, dword [0x4917b0]
or eax, 0x85c2dd29
cmp eax, 0xd8b20147
je 0x40bd13
jmp 0x40bd18
jmp 0x40bd18
jmp 0x40bd1d
jmp 0x40bd22
mov ax, word [esp + 0x112]
mov word [esp + 0x10e], ax
mov ecx, dword [0x4918e8]
inc ecx
mov dword [0x4918e8], ecx
imul ecx, ecx, 0xeb96ee7
mov edx, dword [0x491be4]
xor edx, ecx
mov dword [0x491be4], edx
mov ecx, esp
lea edx, [esp + 0xfd]
mov dword [ecx], edx
mov dword [ecx + 4], 0x13
lea ecx, [esp + 0xcc]
call fcn.004391e0
sub esp, 8
mov si, word [0x492056]
movsx ecx, si
add ecx, 0x72350ecc
mov edx, dword [0x491758]
shl edx, 4
add edx, 0x47388a72
add edx, 0x32891cbb
cmp ecx, edx
mov dword [esp + 0x70], eax
jg 0x40bdb4
mov eax, dword [0x491ac4]
or eax, 0xe28ce99
mov dword [0x491ac4], eax
mov eax, esp
lea ecx, [esp + 0xcc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x110]
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 2
mov ecx, dword [esp + 0xac]
call fcn.00424dd0
sub esp, 0x10
cmp eax, 0
jg 0x40be49
mov eax, 0x479d1b7d
mov cx, word [0x4923fa]
movsx edx, cx
imul edx, edx, 0xdb86e737
cmp eax, edx
jle 0x40be2a
mov eax, dword [0x491ee8]
dec eax
mov dword [0x491ee8], eax
mov ecx, dword [0x491a88]
xor ecx, eax
mov dword [0x491a88], ecx
jmp 0x40be39
mov eax, dword [0x4918d4]
add eax, 0xfd7f9b6f
mov dword [0x4918d4], eax
mov dword [esp + 0xc8], 7
jmp 0x40c637
lea eax, [esp + 0xcc]
mov cx, word [0x492150]
mov dx, cx
add edx, 0x5c757c74
mov cx, dx
mov word [0x492150], cx
mov ecx, eax
call fcn.004500b0
cmp eax, 0x400
ja 0x40be9b
mov eax, dword [0x491e7c]
or eax, 0xfd7eb6fa
mov dword [0x491e7c], eax
mov dword [esp + 0xc8], 7
jmp 0x40c637
lea eax, [esp + 0xcc]
mov ecx, dword [0x4919a8]
or ecx, 0x4486acd2
mov dword [0x4919a8], ecx
mov ecx, eax
call fcn.004500b0
cmp eax, 0x4000
jbe 0x40bf03
mov ax, word [0x492002]
mov cx, ax
shl ecx, 7
mov edx, 0x5935f8eb
sub edx, ecx
or edx, 0xee53
mov ax, word [0x492428]
mov cx, ax
add ecx, edx
mov ax, cx
mov word [0x492428], ax
mov dword [esp + 0xc8], 7
jmp 0x40c637
mov eax, dword [0x491904]
inc eax
mov dword [0x491904], eax
and eax, 0xbb998f62
cmp eax, 0xe178c8de
jne 0x40bf2d
mov eax, dword [0x4916a0]
or eax, 0x2c27c553
mov dword [0x4916a0], eax
lea ecx, [esp + 0xcc]
call fcn.0044bd10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x140]
mov esi, dword [esp + 0x144]
sub ecx, edx
sbb eax, esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
jae 0x40c03e
jmp 0x40bf63
mov eax, dword [0x491ae0]
and eax, 0xd51e858
mov dword [0x491ae0], eax
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x12c], eax
mov eax, dword [0x491578]
or eax, 0x10300c1b
mov dword [0x491578], eax
cmp dword [esp + 0x12c], 3
jne 0x40c015
mov ax, word [0x49243c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49243c], ax
movsx ecx, ax
sub ecx, 0x563a492d
cmp ecx, 0x824b3e5e
je 0x40c005
mov eax, 0xe49b0373
mov ecx, dword [0x491aa4]
mov edx, dword [0x49178c]
xor ecx, edx
cmp eax, ecx
jle 0x40c000
mov eax, dword [0x491ba8]
and eax, 0xe119bfcc
cmp eax, 0x3adf9910
jl 0x40bffb
jmp 0x40bffb
jmp 0x40c000
jmp 0x40c005
mov dword [esp + 0xc8], 5
jmp 0x40c637
mov eax, dword [0x491cf8]
not eax
mov ecx, dword [0x4918b4]
lea eax, [eax + ecx - 0x584753b5]
mov dword [0x4918b4], eax
mov dword [esp + 0xc8], 7
jmp 0x40c637
mov eax, dword [0x4919f4]
add eax, 0x9ff458da
mov dword [0x4919f4], eax
mov dword [esp + 0x12c], 0
mov eax, dword [0x4917bc]
xor eax, 0x41130bce
mov dword [0x4917bc], eax
lea ecx, [esp + 0xcc]
call fcn.0044bd10
movzx eax, word [eax + 8]
mov dword [esp + 0xc4], eax
mov eax, dword [0x491b28]
or eax, 0xb3dcec40
and eax, 0xbbfcfed6
mov ecx, dword [0x4917dc]
or ecx, 0x45020011
cmp eax, ecx
jg 0x40c0cd
mov eax, dword [0x491c70]
mov ecx, eax
dec ecx
mov dword [0x491c70], ecx
add eax, 0x771727ad
xor eax, 0x9c3ac841
mov ecx, dword [0x491c18]
imul ecx, eax
mov dword [0x491c18], ecx
jmp 0x40c0dc
mov eax, dword [0x491c58]
xor eax, 0x6bec645f
mov dword [0x491c58], eax
lea eax, [esp + 0xcc]
imul ecx, dword [esp + 0xc4], 6
mov dword [esp + 0x64], ecx
mov ecx, eax
call fcn.004500b0
sub eax, 0x400
sub eax, 0xa
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jbe 0x40c139
mov eax, dword [0x491730]
not eax
add eax, 0x1a60bdf2
or eax, 0xcc418145
mov ecx, dword [0x491be0]
add ecx, eax
mov dword [0x491be0], ecx
mov dword [esp + 0xc8], 7
jmp 0x40c637
mov eax, 0xd3d6d794
mov cx, word [0x4923de]
movsx edx, cx
xor edx, 0xf4ee9261
or edx, 0xb3927547
cmp eax, edx
jle 0x40c181
mov eax, dword [0x49170c]
add eax, 0x512c4a83
mov cx, word [0x49235a]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49235a], cx
jmp 0x40c1a4
mov ax, word [0x49210a]
mov cx, ax
and ecx, 0x43c2
mov ax, word [0x4921f4]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4921f4], ax
mov byte [esp + 0xc3], 0
mov eax, dword [0x491c94]
inc eax
mov dword [0x491c94], eax
mov ecx, dword [0x491bb4]
imul ecx, eax
mov dword [0x491bb4], ecx
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, dword [esp + 0xc4]
je 0x40c3af
mov eax, dword [0x491b0c]
mov ecx, dword [0x49164c]
mov edx, ecx
dec edx
mov dword [0x49164c], edx
and eax, ecx
mov si, word [0x4920b4]
mov cx, si
dec ecx
mov si, cx
mov word [0x4920b4], si
movsx ecx, si
mov edx, dword [0x491d50]
sub ecx, edx
or ecx, 0xf9fe9a89
cmp eax, ecx
je 0x40c238
mov eax, dword [0x491bac]
and eax, 0x45ad5c57
mov dword [0x491bac], eax
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0x114]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x60], ecx
mov ecx, eax
mov dword [esp + 0x5c], edx
call fcn.0044bd10
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
cmp ecx, dword [eax + edx]
jne 0x40c389
lea eax, [esp + 0xcc]
mov ecx, dword [0x491d94]
not ecx
mov edx, dword [0x4917e4]
lea ecx, [ecx + edx - 0x645d61a1]
mov edx, dword [0x4919b4]
xor edx, ecx
mov dword [0x4919b4], edx
movzx ecx, word [esp + 0x112]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x58], ecx
mov ecx, eax
mov dword [esp + 0x54], edx
call fcn.0044bd10
mov ecx, dword [esp + 0x54]
movzx eax, word [eax + ecx + 4]
mov edx, dword [esp + 0x58]
cmp edx, eax
jne 0x40c36f
mov eax, dword [0x491900]
sar eax, 4
mov cx, word [0x492046]
mov dx, cx
inc edx
mov cx, dx
mov word [0x492046], cx
movsx edx, cx
xor edx, 0xcf74b21f
or eax, edx
cmp eax, 0xe8fe593a
jge 0x40c33a
mov eax, dword [0x4914ec]
xor eax, 0xffffffff
add eax, 0x8fc3a404
cmp eax, 0xb3cf8e71
jge 0x40c335
mov ax, word [0x492040]
mov cx, ax
or ecx, 0x57bd
mov ax, cx
mov word [0x492040], ax
jmp 0x40c349
mov eax, dword [0x4915f4]
add eax, 0xe9811da1
mov dword [0x4915f4], eax
mov byte [esp + 0xc3], 1
mov eax, dword [0x49161c]
inc eax
mov dword [0x49161c], eax
mov ecx, dword [0x491828]
sub ecx, eax
mov dword [0x491828], ecx
jmp 0x40c3af
mov eax, dword [0x491a84]
dec eax
mov dword [0x491a84], eax
mov ecx, dword [0x491508]
imul ecx, eax
mov dword [0x491508], ecx
mov eax, dword [0x4917f4]
imul eax, eax, 0xd4884c6f
mov dword [0x4917f4], eax
mov eax, dword [esp + 0xbc]
add eax, 1
mov dword [esp + 0xbc], eax
jmp 0x40c1d1
mov dword [0x49159c], 0xca58928e
test byte [esp + 0xc3], 1
jne 0x40c3fa
mov eax, dword [0x491e40]
add eax, eax
or eax, 0x904d
mov cx, word [0x491fe2]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x491fe2], cx
mov dword [esp + 0xc8], 7
jmp 0x40c637
mov eax, dword [0x4916c0]
mov ecx, eax
dec ecx
mov dword [0x4916c0], ecx
mov ecx, dword [0x491678]
not ecx
lea eax, [eax + ecx - 1]
mov ecx, dword [0x491cd0]
sub ecx, eax
mov dword [0x491cd0], ecx
mov eax, esp
mov dword [eax + 4], 0x408
mov dword [eax], 0x1435
call fcn.004066f0
mov dword [esp + 0xb8], eax
mov eax, dword [0x491820]
add eax, 0x6e04250e
mov dx, word [0x492082]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x492082], dx
lea eax, [esp + 0xcc]
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.004500b0
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
call fcn.0044bd10
mov ecx, dword [esp + 0xb8]
mov esi, esp
mov edi, dword [esp + 0x4c]
mov dword [esi + 8], edi
mov dword [esi + 4], eax
mov dword [esi], ecx
call fcn.00428100
mov dword [esp + 0xb4], eax
mov eax, dword [0x49181c]
xor eax, 0x3df8ef2c
mov dword [0x49181c], eax
mov eax, dword [esp + 0xb8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x408
call fcn.004260a0
mov eax, dword [0x491d84]
or eax, 0x9740024
mov dword [0x491d84], eax
cmp dword [esp + 0xb4], 4
jle 0x40c505
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x48], ecx
mov ecx, eax
call fcn.004500b0
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jbe 0x40c544
mov ax, word [0x49218a]
mov cx, ax
mov ax, word [0x492310]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x492310], ax
mov dword [esp + 0xb4], 0
mov ecx, dword [0x49192c]
and ecx, 0x430e04d
mov dword [0x49192c], ecx
jmp 0x40c59b
mov eax, dword [0x4916c4]
shl eax, 4
mov ecx, 0xcb710911
sub ecx, eax
mov eax, dword [0x491a18]
sub eax, ecx
mov dword [0x491a18], eax
mov eax, dword [esp + 0xb4]
add eax, 0xfffffffc
mov dword [esp + 0xb4], eax
mov dx, word [0x4923be]
mov ax, dx
dec eax
mov dx, ax
mov word [0x4923be], dx
movsx eax, dx
and eax, 0x4590204
mov ecx, dword [0x491e38]
xor ecx, eax
mov dword [0x491e38], ecx
mov eax, dword [0x491888]
xor eax, 0x9f61428d
mov dword [0x491888], eax
mov eax, dword [esp + 0xb4]
imul ecx, dword [esp + 0xc4], 6
add ecx, 0xa
cmp eax, ecx
jge 0x40c5e4
mov eax, dword [0x491bd4]
imul eax, eax, 0xf50f821d
mov dword [0x491bd4], eax
mov dword [esp + 0xc8], 7
jmp 0x40c637
mov eax, dword [0x49155c]
xor eax, 0xba02bb25
mov ecx, dword [0x491674]
imul ecx, eax
mov dword [0x491674], ecx
lea ecx, [esp + 0xcc]
call fcn.0044bd10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], ecx
mov eax, dword [0x491a9c]
imul eax, eax, 0x3cbfdf91
mov dword [0x491a9c], eax
mov dword [esp + 0xc8], 5
lea ecx, [esp + 0xcc]
call fcn.00417c50
mov ecx, dword [esp + 0xc8]
mov eax, ecx
sub eax, 5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
je 0x40c68e
jmp 0x40c662
mov eax, dword [esp + 0x44]
sub eax, 7
mov dword [esp + 0x3c], eax
jne 0x40c9e1
jmp 0x40c678
mov eax, dword [esp + 0xe0]
add eax, 1
mov dword [esp + 0xe0], eax
jmp 0x40bb01
mov ax, word [0x4920ba]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4920ba], ax
movsx ecx, ax
mov ax, word [0x492184]
movsx edx, ax
not edx
add ecx, edx
mov edx, dword [0x491a60]
sub edx, ecx
mov dword [0x491a60], edx
mov ecx, esp
lea edx, [esp + 0xfd]
mov dword [ecx], edx
mov dword [ecx + 4], 0x13
call fcn.004333b0
mov ax, word [0x491fd8]
mov cx, ax
imul ecx, ecx, 0x376bbbf3
mov ax, cx
mov word [0x491fd8], ax
mov ecx, dword [esp + 0x128]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x600
call fcn.004260a0
mov ax, word [0x491fb4]
mov cx, ax
and ecx, 0x9dc8
mov ax, cx
mov word [0x491fb4], ax
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
or ecx, edx
mov dword [esp + 0x38], ecx
je 0x40c970
jmp 0x40c73c
mov eax, dword [0x491914]
mov ecx, eax
dec ecx
mov dword [0x491914], ecx
mov ecx, dword [0x491b7c]
sub ecx, eax
mov dword [0x491b7c], ecx
mov eax, dword [0x491404]
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
call eax
sub esp, 4
mov word [0x4920d2], 0xd35b
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x118]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x20], eax
mov eax, dword [0x491ce4]
add eax, 0xbdcf8f5
mov dword [0x491ce4], eax
mov ebx, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [esp + 0xac]
add eax, 0x18
mov edx, dword [esp + 0xac]
mov esi, dword [edx + 0x18]
mov edi, dword [edx + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edi
jmp 0x40c7f2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
lock cmpxchg8b qword [esi]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
jne 0x40c7f2
jmp 0x40c827
xor eax, eax
mov ecx, dword [0x4917f0]
dec ecx
mov dword [0x4917f0], ecx
mov edx, dword [0x4916bc]
mov esi, edx
dec esi
mov dword [0x4916bc], esi
and ecx, edx
mov di, word [0x49232a]
mov dx, di
inc edx
mov di, dx
mov word [0x49232a], di
movsx edx, di
and ecx, edx
cmp eax, ecx
jg 0x40c878
mov eax, dword [0x491b34]
add eax, 0x14a9b590
mov dword [0x491b34], eax
mov eax, 0x4a71840b
mov ecx, dword [0x491408]
mov edx, esp
mov esi, dword [esp + 0xac]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
call ecx
sub esp, 4
mov di, word [0x491fb2]
mov ax, di
inc eax
mov bx, ax
mov word [0x491fb2], bx
movsx eax, di
or eax, 0x653e9799
and eax, 0xedffbf9b
mov dword [0x4917a4], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [0x4916c0]
dec eax
mov dword [0x4916c0], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x40c945
mov eax, dword [0x491920]
mov ecx, dword [0x49171c]
shl ecx, 0xa
cmp eax, ecx
jge 0x40c940
mov eax, dword [0x4916d4]
sar eax, 3
xor eax, 0x8082d146
cmp eax, 0xa2db2128
jg 0x40c936
jmp 0x40c93b
jmp 0x40c93b
jmp 0x40c940
jmp 0x40c945
mov dword [esp + 0x14c], 1
mov eax, dword [0x491898]
xor eax, 0x8d1
mov cx, word [0x492104]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x492104], cx
mov eax, 0x52f3272f
mov cx, word [0x49221a]
movsx edx, cx
mov cx, word [0x491ff8]
mov si, cx
inc esi
mov di, si
mov word [0x491ff8], di
movsx esi, cx
imul edx, esi
cmp eax, edx
jge 0x40c9ba
mov ax, word [0x49211a]
mov cx, ax
or ecx, 0x208
mov ax, cx
mov word [0x49211a], ax
lea ecx, [esp + 0xe8]
call fcn.004197e0
mov dword [0x491ac0], 0xda1508e4
mov eax, dword [esp + 0x14c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
int3