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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov al, byte [ebp + 0xc]
mov edx, dword [ebp + 8]
mov esi, 0x84048dab
and al, 1
mov byte [esp + 0x14b], al
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ecx
mov edx, dword [0x486850]
dec edx
mov dword [0x486850], edx
or edx, 0xcd7128d3
mov dword [0x48af2c], edx
mov dword [esp + 0x13c], 0
mov edx, dword [0x48552c]
inc edx
mov dword [0x48552c], edx
xor edx, 0xf2e0
mov di, word [0x48475e]
mov bx, di
or ebx, edx
mov di, bx
mov word [0x48475e], di
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], ecx
call fcn.004501a0
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], eax
mov eax, dword [0x4872e4]
sub eax, 0x6677e99b
mov ecx, dword [esp + 0xa0]
cmp ecx, eax
jle 0x4145f1
mov eax, 0xa7ea2081
mov ecx, dword [0x484b48]
add ecx, 0xc890232b
cmp eax, ecx
je 0x4145dd
mov eax, dword [0x48c6a8]
add eax, 0x74fbd6f6
mov dword [0x48c6a8], eax
jmp 0x4145ec
mov eax, dword [0x485f2c]
add eax, 0x802149
mov dword [0x485f2c], eax
jmp 0x4145f1
mov byte [esp + 0x12f], 0
mov eax, dword [0x48ca44]
add eax, 0x1690d153
mov dword [0x48ca44], eax
mov eax, dword [0x47f904]
mov ecx, esp
mov edx, dword [esp + 0x9c]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x483978]
mov ax, si
imul eax, eax, 0xd57e1c82
mov si, ax
mov word [0x483978], si
test byte [esp + 0x14b], 1
je 0x414719
mov eax, 0xd6d85a5f
mov cx, word [0x4819da]
movsx edx, cx
cmp eax, edx
je 0x414674
mov ax, word [0x481894]
mov cx, ax
add ecx, 0x4d163dbd
mov ax, cx
mov word [0x481894], ax
mov eax, dword [esp + 0x9c]
add eax, 0x18
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + 0x18]
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], esi
jmp 0x4146a5
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
xor edx, edx
mov dword [esp + 0x8c], eax
mov eax, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x88], edx
mov edx, ecx
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x98]
lock cmpxchg8b qword [esi]
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], edx
jne 0x4146a5
jmp 0x414700
mov eax, dword [0x48806c]
and eax, 0x86acda33
mov ecx, dword [0x48b854]
imul ecx, eax
mov dword [0x48b854], ecx
mov eax, dword [0x48e448]
mov ecx, eax
inc ecx
mov dword [0x48e448], ecx
add eax, 0x114dd53e
mov dx, word [0x483662]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x483662], dx
xor eax, eax
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x9c]
lock cmpxchg8b qword [esi + 0x18]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ebx
jae 0x4147fd
jmp 0x414795
mov eax, dword [0x48551c]
mov cx, ax
mov word [0x4834e6], cx
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x9c]
mov esi, dword [edx + 0x2c]
mov dword [eax + 0xc], esi
mov esi, dword [edx + 0x28]
mov dword [eax + 8], esi
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x24]
mov dword [eax + 4], edi
mov dword [eax], esi
mov eax, dword [0x48dc20]
and eax, 0xd9761c5b
mov dword [0x48dc20], eax
mov dword [esp + 0x13c], 1
mov eax, dword [0x485900]
not eax
mov esi, dword [0x48bffc]
sub esi, eax
mov dword [0x48bffc], esi
jmp 0x414855
mov eax, 0x854014d6
mov ecx, dword [0x48910c]
mov edx, dword [0x48ab34]
sub edx, ecx
mov dword [0x48ab34], edx
mov byte [esp + 0x12f], 1
mov ecx, dword [0x48810c]
add ecx, 0xf0dc0e77
sub ecx, 0x3dba2616
cmp eax, ecx
jl 0x414850
mov eax, dword [0x485d90]
or eax, 0x4b2e9c26
mov ecx, dword [0x489998]
add ecx, eax
mov dword [0x489998], ecx
jmp 0x414855
mov ax, word [0x484502]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x484502], ax
movsx ecx, ax
cmp ecx, 0x32ac4900
jle 0x414897
mov ax, word [0x48290a]
movsx ecx, ax
sar ecx, 2
xor ecx, 0xc01071ef
mov edx, dword [0x48d18c]
add edx, ecx
mov dword [0x48d18c], edx
mov eax, dword [0x47f908]
mov ecx, esp
mov edx, dword [esp + 0x9c]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [0x4863a4], 0x59069c60
test byte [esp + 0x12f], 1
je 0x415bb1
mov eax, dword [0x48a650]
mov ecx, eax
inc ecx
mov dword [0x48a650], ecx
xor eax, 0xe552
mov dx, word [0x4800fc]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4800fc], dx
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dx, word [0x480194]
mov ax, dx
dec eax
mov si, ax
mov word [0x480194], si
movsx eax, dx
mov ecx, dword [0x486188]
dec ecx
mov dword [0x486188], ecx
add ecx, 0x281d1898
or ecx, 0xd1a37708
cmp eax, ecx
je 0x414996
mov ax, word [0x483cfe]
movsx ecx, ax
imul ecx, ecx, 0x49687419
and ecx, 0x33eace16
mov edx, dword [0x48ac94]
cmp ecx, edx
jge 0x414991
mov eax, 0xff5c4ff2
mov ecx, dword [0x489bbc]
mov edx, ecx
inc edx
mov dword [0x489bbc], edx
sub ecx, 0xb436015f
sub ecx, 0xc15c8853
cmp eax, ecx
je 0x41498c
jmp 0x41498c
jmp 0x414991
jmp 0x414996
mov dword [esp + 0x11c], 0
mov eax, dword [0x48824c]
imul eax, eax, 0x7fb81915
mov dword [0x48824c], eax
mov eax, esp
mov dword [eax + 4], 0x600
mov dword [eax], 0x3916
call fcn.00449170
mov dword [esp + 0x118], eax
mov eax, dword [0x48de70]
mov ecx, eax
inc ecx
mov dword [0x48de70], ecx
imul eax, eax, 0xcfa3e7a8
mov dword [0x48a144], eax
mov eax, dword [esp + 0x118]
mov dl, byte [eax]
mov byte [esp + 0x117], dl
mov eax, dword [0x48a144]
cmp eax, 0x374fffeb
jl 0x414a2e
mov eax, dword [0x4872c8]
mov ecx, eax
inc ecx
mov dword [0x4872c8], ecx
mov ecx, dword [0x487c18]
add eax, ecx
mov ecx, dword [0x48cae8]
and ecx, eax
mov dword [0x48cae8], ecx
jmp 0x414a51
mov ax, word [0x481d58]
mov cx, ax
and ecx, 0x1098
mov ax, word [0x481caa]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x481caa], ax
mov eax, 0xee56c47
mov ecx, dword [0x4883ec]
mov edx, dword [0x486ce8]
or edx, ecx
mov dword [0x486ce8], edx
xorps xmm0, xmm0
movaps xmmword [esp + 0x100], xmm0
mov ecx, dword [0x48deec]
sar ecx, 8
or ecx, 0x55b4802e
cmp eax, ecx
jge 0x414a95
mov word [0x4806d6], 0x320a
mov word [esp + 0x100], 2
mov ax, word [0x481922]
movsx ecx, ax
xor ecx, 0x699b3c39
cmp ecx, 0x920ac00
je 0x414ae2
mov eax, 0x7b7707ca
mov ecx, dword [0x48dde4]
cmp eax, ecx
je 0x414add
mov eax, dword [0x486328]
imul eax, eax, 0x261ec8ef
mov dword [0x486328], eax
jmp 0x414ae2
mov ax, word [0x47fe5c]
mov cx, ax
add ecx, 0x69e73a21
mov ax, cx
mov word [0x47fe5c], ax
mov dword [esp + 0xed], 0x13
mov ecx, dword [0x4867e0]
xor ecx, 0x640a472a
mov dword [0x4867e0], ecx
mov dword [esp + 0xf1], 0
mov ecx, dword [0x48a434]
and ecx, 0x752d1488
mov edx, dword [0x4893f8]
xor edx, ecx
mov dword [0x4893f8], edx
mov dword [esp + 0xf5], 7
mov ecx, dword [0x4851e4]
xor ecx, 0xfaf979fa
mov dword [0x4851e4], ecx
mov byte [esp + 0xf9], 3
mov ax, word [0x4828e8]
mov cx, ax
xor ecx, 0xff91
mov ax, cx
mov word [0x4828e8], ax
lea ecx, [esp + 0xd8]
mov dword [esp + 0x78], ecx
call fcn.004502b0
mov ecx, dword [0x489a4c]
add ecx, 0x6d826b9
and ecx, 0x37e09031
mov dword [0x48559c], ecx
movzx ecx, byte [esp + 0x117]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], eax
call fcn.00450320
sub esp, 8
mov eax, dword [0x48aa98]
inc eax
mov dword [0x48aa98], eax
imul eax, eax, 0x7a7ce084
mov si, ax
mov word [0x4805c4], si
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0xd4]
movzx ecx, byte [esp + 0x117]
cmp eax, ecx
je 0x414c53
mov ax, word [0x47fa66]
mov cx, ax
imul ecx, ecx, 0xbff9eb6b
mov ax, cx
mov word [0x47fa66], ax
mov ecx, esp
lea edx, [esp + 0xd4]
mov dword [ecx], edx
lea ecx, [esp + 0xd8]
call fcn.00426a90
sub esp, 4
mov dword [0x4857c8], 0x39c80e10
mov eax, dword [esp + 0xd4]
add eax, 1
mov dword [esp + 0xd4], eax
jmp 0x414bea
mov eax, 0x69fc2393
mov cx, word [0x4838ec]
movsx edx, cx
mov esi, dword [0x48d498]
mov edi, esi
inc edi
mov dword [0x48d498], edi
lea edx, [edx + esi + 1]
mov cx, word [0x480d96]
movsx esi, cx
sar esi, 1
add edx, esi
cmp eax, edx
jg 0x414c9b
mov eax, dword [0x48583c]
xor eax, 0x68d45971
mov dword [0x48583c], eax
mov eax, esp
lea ecx, [esp + 0xd8]
mov dword [eax], ecx
call fcn.004503c0
mov dword [0x48d270], 0xd0187b81
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd0]
movzx ecx, byte [esp + 0x117]
cmp eax, ecx
je 0x4158d1
mov eax, 0x38befbf7
mov ecx, dword [0x48b500]
mov edx, ecx
inc edx
mov dword [0x48b500], edx
or ecx, 0x61de5d2b
cmp eax, ecx
jge 0x414d11
mov ax, word [0x482544]
mov cx, ax
and ecx, 0x7827
mov ax, cx
mov word [0x482544], ax
mov eax, dword [esp + 0xd0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xd8]
call fcn.004507d0
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*2 + 1]
mov dword [esp + 0x104], eax
mov eax, dword [0x48e240]
not eax
mov ecx, dword [0x48aa50]
sub eax, ecx
or eax, 0xc72bd6a3
mov ecx, dword [0x489864]
add ecx, 0x95a747fa
cmp eax, ecx
jne 0x414d7e
mov eax, dword [0x48b080]
xor eax, 0x362072e5
mov dword [0x48b080], eax
jmp 0x414db7
mov eax, 0xe3f07ed7
mov ecx, dword [0x48e638]
imul ecx, ecx, 0x82e225c5
mov dx, word [0x480112]
movsx esi, dx
or ecx, esi
cmp eax, ecx
jg 0x414db2
mov eax, dword [0x48c638]
add eax, 0x9d77f7e7
mov dword [0x48c638], eax
jmp 0x414db7
mov eax, dword [esp + 0xd0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xd8]
call fcn.004507d0
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x118]
mov dx, word [ecx + eax*2 + 5]
mov word [esp + 0x102], dx
mov dx, word [0x483578]
mov ax, dx
imul eax, eax, 0xba836a92
mov dx, ax
mov word [0x483578], dx
lea ecx, [esp + 0xbc]
call fcn.00424190
mov ecx, dword [0x48b78c]
mov esi, dword [0x485cf8]
imul esi, esi, 0xf09bde8f
and ecx, esi
mov esi, dword [0x4880d0]
shl esi, 8
cmp ecx, esi
mov dword [esp + 0x70], eax
jge 0x414e51
mov eax, dword [0x48c074]
add eax, 0x520221b8
mov ecx, dword [0x489ec0]
xor ecx, eax
mov dword [0x489ec0], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0xfa], eax
mov dword [0x48e7dc], 0x33ea3b7b
mov cx, word [esp + 0x102]
mov word [esp + 0xfe], cx
mov cx, word [0x4823d2]
mov ax, cx
dec eax
mov cx, ax
mov word [0x4823d2], cx
movsx eax, cx
mov edx, dword [0x485168]
xor edx, eax
mov dword [0x485168], edx
mov eax, esp
lea edx, [esp + 0xed]
mov dword [eax], edx
mov dword [eax + 4], 0x13
lea ecx, [esp + 0xbc]
call fcn.004178b0
sub esp, 8
mov ecx, dword [0x48d51c]
inc ecx
mov dword [0x48d51c], ecx
xor ecx, 0xa9f213a5
mov dword [0x48619c], ecx
mov ecx, esp
lea edx, [esp + 0xbc]
mov dword [ecx + 4], edx
lea edx, [esp + 0x100]
mov dword [ecx], edx
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 2
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x6c], eax
call fcn.0044b330
sub esp, 0x10
cmp eax, 0
jg 0x414f41
mov eax, dword [0x489164]
imul eax, eax, 0xab250036
mov ecx, dword [0x4885cc]
or ecx, eax
mov dword [0x4885cc], ecx
mov dword [esp + 0xb8], 7
jmp 0x41587a
lea eax, [esp + 0xbc]
mov ecx, dword [0x48540c]
imul ecx, ecx, 0xabdcbd70
mov dword [0x48540c], ecx
mov ecx, eax
call fcn.004240d0
cmp eax, 0x400
ja 0x414f9f
mov ax, word [0x4845e4]
mov cx, ax
add ecx, 0xf97c4511
mov ax, word [0x4824bc]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4824bc], ax
mov dword [esp + 0xb8], 7
jmp 0x41587a
lea eax, [esp + 0xbc]
mov ecx, dword [0x486be8]
not ecx
mov edx, dword [0x48679c]
imul ecx, edx
mov edx, dword [0x4882fc]
imul edx, ecx
mov dword [0x4882fc], edx
mov ecx, eax
call fcn.004240d0
cmp eax, 0x4000
jbe 0x415052
mov eax, 0xc105028
mov ecx, dword [0x489e58]
xor ecx, 0xffffffff
add ecx, 0xd3a26a3
cmp eax, ecx
jle 0x415024
mov ax, word [0x481810]
movsx ecx, ax
imul ecx, ecx, 0x841cb158
imul ecx, ecx, 0x60a5bf59
cmp ecx, 0x97b43756
jle 0x41501f
mov dword [0x48a3a4], 0x11840282
jmp 0x415042
mov ax, word [0x482234]
movsx ecx, ax
xor ecx, 0x783e849d
mov edx, dword [0x48dce0]
imul edx, ecx
mov dword [0x48dce0], edx
mov dword [esp + 0xb8], 7
jmp 0x41587a
mov eax, 0x9a6206cb
mov ecx, dword [0x4880d8]
mov edx, ecx
dec edx
mov dword [0x4880d8], edx
or ecx, 0xbdc41d04
cmp eax, ecx
jne 0x4150cf
mov eax, 0xab8dc7ae
mov cx, word [0x484080]
movsx edx, cx
sar edx, 0xa
mov esi, dword [0x48544c]
inc esi
mov dword [0x48544c], esi
and edx, esi
cmp eax, edx
jle 0x4150ca
mov ax, word [0x4812ba]
movsx ecx, ax
sar ecx, 2
imul ecx, ecx, 0xccf8c104
cmp ecx, 0x3dc28f89
jge 0x4150c0
jmp 0x4150c5
jmp 0x4150c5
jmp 0x4150ca
jmp 0x4150de
mov eax, dword [0x48afcc]
add eax, 0xf51d458a
mov dword [0x48afcc], eax
lea ecx, [esp + 0xbc]
call fcn.0044ffa0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x130]
mov esi, dword [esp + 0x134]
sub ecx, edx
sbb eax, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
jae 0x4151b5
jmp 0x415114
mov eax, dword [0x48bdbc]
add eax, 0x56b07509
xor eax, 0x8b87
mov cx, word [0x484192]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x484192], cx
mov eax, dword [esp + 0x11c]
inc eax
mov dword [esp + 0x11c], eax
mov eax, dword [0x4850a4]
add eax, 0x68deb2d5
mov dword [0x4850a4], eax
cmp dword [esp + 0x11c], 3
jne 0x41518d
mov ax, word [0x48218a]
mov cx, ax
or ecx, 0x32e5
mov ax, cx
mov word [0x48218a], ax
mov dword [esp + 0xb8], 5
jmp 0x41587a
mov ax, word [0x4842b6]
mov cx, ax
add ecx, 0x9450e38f
mov ax, cx
mov word [0x4842b6], ax
mov dword [esp + 0xb8], 7
jmp 0x41587a
mov eax, 0x98b7b082
mov ecx, dword [0x48d3e4]
add ecx, 0xea51492
mov edx, dword [0x48ded0]
or ecx, edx
or ecx, 0xb0f57b27
mov dword [0x48ded0], ecx
mov dword [esp + 0x11c], 0
mov ecx, dword [0x4889b0]
imul ecx, ecx, 0xd0afa12e
mov dword [0x4889b0], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 0x60], eax
call fcn.0044ffa0
movzx eax, word [eax + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [0x487944]
mov ecx, eax
dec ecx
mov dword [0x487944], ecx
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jg 0x415241
mov eax, dword [0x48ebd0]
imul eax, eax, 0x543af5e1
mov dword [0x48ebd0], eax
jmp 0x415259
mov ax, word [0x484946]
mov cx, ax
add ecx, 0xbdeb719f
mov ax, cx
mov word [0x484946], ax
lea eax, [esp + 0xbc]
imul ecx, dword [esp + 0xb4], 6
mov dword [esp + 0x5c], ecx
mov ecx, eax
call fcn.004240d0
sub eax, 0x400
sub eax, 0xa
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jbe 0x4152af
mov ax, word [0x4841ea]
mov cx, ax
add ecx, 0x575a323f
mov ax, cx
mov word [0x4841ea], ax
mov dword [esp + 0xb8], 7
jmp 0x41587a
mov eax, 0x9404924
mov ecx, dword [0x487080]
xor ecx, 0x20986b56
cmp eax, ecx
jge 0x41532b
mov eax, dword [0x48c3e0]
mov ecx, eax
dec ecx
mov dword [0x48c3e0], ecx
mov ecx, 0x5f36e43
sub ecx, eax
mov eax, dword [0x489bb8]
mov edx, eax
inc edx
mov dword [0x489bb8], edx
mov edx, dword [0x48eb00]
dec edx
mov dword [0x48eb00], edx
add eax, edx
or eax, 0xf28e6c3
cmp ecx, eax
jle 0x415326
mov eax, dword [0x486fdc]
inc eax
mov dword [0x486fdc], eax
imul eax, eax, 0x70e615c3
mov ecx, dword [0x485098]
or ecx, eax
mov dword [0x485098], ecx
jmp 0x41533b
mov eax, dword [0x48bac8]
imul eax, eax, 0xddefefbc
mov dword [0x48bac8], eax
mov byte [esp + 0xb3], 0
mov eax, dword [0x48bb44]
mov ecx, eax
inc ecx
mov dword [0x48bb44], ecx
mov ecx, dword [0x487d20]
add ecx, eax
mov dword [0x487d20], ecx
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, dword [esp + 0xb4]
je 0x415553
mov eax, 0xc82cdab7
mov cx, word [0x48008e]
movsx edx, cx
sar edx, 3
imul edx, edx, 0xe9710346
xor edx, 0xa20dd44e
mov cx, word [0x48058c]
movsx esi, cx
xor esi, 0xffffffff
sub eax, esi
or eax, 0x2fcc3629
cmp edx, eax
jne 0x415418
mov eax, 0xe0207eb4
mov cx, word [0x482270]
mov dx, cx
inc edx
mov si, dx
mov word [0x482270], si
movsx edx, cx
mov edi, dword [0x486c34]
imul edx, edi
mov cx, word [0x484504]
movsx edi, cx
add edx, edi
cmp eax, edx
jle 0x415413
mov eax, dword [0x485934]
mov ecx, eax
inc ecx
mov dword [0x485934], ecx
and eax, 0x40b0400
mov ecx, dword [0x488d90]
or ecx, eax
mov dword [0x488d90], ecx
jmp 0x415418
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0x104]
imul edx, dword [esp + 0xac], 6
add edx, 0xa
mov dword [esp + 0x58], ecx
mov ecx, eax
mov dword [esp + 0x54], edx
call fcn.0044ffa0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
cmp ecx, dword [eax + edx]
jne 0x415525
lea eax, [esp + 0xbc]
mov ecx, dword [0x489a3c]
mov edx, 0x241fda1f
sub edx, ecx
mov ecx, dword [0x487d78]
sub ecx, edx
mov dword [0x487d78], ecx
movzx ecx, word [esp + 0x102]
imul edx, dword [esp + 0xac], 6
add edx, 0xa
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x4c], edx
call fcn.0044ffa0
mov ecx, dword [esp + 0x4c]
movzx eax, word [eax + ecx + 4]
mov edx, dword [esp + 0x50]
cmp edx, eax
jne 0x41550d
mov eax, dword [0x48ba2c]
or eax, 0x26da5e4f
cmp eax, 0x79479a1b
jl 0x4154d7
mov ax, word [0x482f6e]
mov cx, ax
xor ecx, 0xa4de
mov ax, cx
mov word [0x482f6e], ax
mov byte [esp + 0xb3], 1
mov eax, dword [0x48dc7c]
sub eax, 0x187ee220
and eax, 0x63e891a0
cmp eax, 0xa0962009
jl 0x415508
mov eax, dword [0x48d174]
add eax, 0xfc8b8171
mov dword [0x48d174], eax
jmp 0x415553
mov ax, word [0x4837d6]
mov cx, ax
or ecx, 0xf991
mov ax, cx
mov word [0x48301a], ax
mov ax, word [0x4835ae]
mov cx, ax
add ecx, 0xff6cc9df
mov ax, cx
mov word [0x4835ae], ax
mov eax, dword [esp + 0xac]
add eax, 1
mov dword [esp + 0xac], eax
jmp 0x41536a
mov ax, word [0x483d1e]
mov cx, ax
or ecx, 0xcf3
mov ax, cx
mov word [0x483d1e], ax
test byte [esp + 0xb3], 1
jne 0x4155c3
mov eax, dword [0x488970]
shl eax, 8
add eax, 0xe5ea7c86
mov cx, word [0x483452]
movsx edx, cx
add edx, 0x55d26ffc
or edx, 0x5d22f64f
cmp eax, edx
jne 0x4155b3
mov eax, dword [0x487358]
xor eax, 0x840cf38a
mov dword [0x487358], eax
mov dword [esp + 0xb8], 7
jmp 0x41587a
mov eax, dword [0x488b88]
imul eax, eax, 0x39f4fcb3
mov dword [0x488b88], eax
mov eax, esp
mov dword [eax + 4], 0x408
mov dword [eax], 0x32e
call fcn.00449170
mov dword [esp + 0xa8], eax
mov eax, dword [0x48b574]
add eax, 0xd512e4fd
mov dword [0x48b574], eax
lea eax, [esp + 0xbc]
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.004240d0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
call fcn.0044ffa0
mov ecx, dword [esp + 0xa8]
mov edx, esp
mov esi, dword [esp + 0x44]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004305e0
mov dword [esp + 0xa4], eax
mov di, word [0x481da4]
mov ax, di
or eax, 0x39d1
mov di, ax
mov word [0x481da4], di
mov eax, dword [esp + 0xa8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x408
call fcn.0044fa10
mov dword [0x48b4d0], 0x9d41be22
cmp dword [esp + 0xa4], 4
jle 0x4156aa
lea eax, [esp + 0xbc]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x40], ecx
mov ecx, eax
call fcn.004240d0
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jbe 0x415717
mov eax, 0xebb7effc
mov ecx, dword [0x48a50c]
or ecx, 0x766dff7d
mov edx, dword [0x487b50]
imul edx, ecx
mov dword [0x487b50], edx
mov dword [esp + 0xa4], 0
mov ecx, dword [0x487c38]
dec ecx
mov dword [0x487c38], ecx
sub ecx, 0x38f576fe
add ecx, 0x20149482
cmp eax, ecx
jge 0x415712
mov eax, dword [0x4879dc]
sar eax, 6
add eax, 0xb2cd345d
mov ecx, dword [0x487258]
imul ecx, eax
mov dword [0x487258], ecx
jmp 0x4157a0
mov ax, word [0x4848e2]
mov cx, ax
add ecx, 0x820831b1
mov ax, cx
mov word [0x4848e2], ax
mov ecx, dword [esp + 0xa4]
add ecx, 0xfffffffc
mov dword [esp + 0xa4], ecx
mov ax, word [0x4827c0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4827c0], dx
movsx ecx, ax
imul ecx, ecx, 0xe6daa614
and ecx, 0x4a623ae4
cmp ecx, 0x42139ab
jg 0x41579b
mov eax, dword [0x48a238]
shl eax, 4
add eax, 0x8da040e6
cmp eax, 0x32f7f0ac
jle 0x415796
mov eax, dword [0x488668]
add eax, 0x7cc35ed
mov dword [0x488668], eax
jmp 0x41579b
jmp 0x4157a0
mov eax, 0xd88bd422
mov ecx, dword [0x488700]
dec ecx
mov dword [0x488700], ecx
sub eax, ecx
and eax, 0xc0786351
cmp eax, 0x5a051a0e
jge 0x4157d3
mov eax, dword [0x48a520]
add eax, 0x8cc5a5b1
mov dword [0x48a520], eax
mov eax, dword [esp + 0xa4]
imul ecx, dword [esp + 0xb4], 6
add ecx, 0xa
cmp eax, ecx
jge 0x415825
mov eax, dword [0x487404]
shl eax, 9
mov cx, word [0x480e94]
movsx edx, cx
imul edx, edx, 0xebfc2b53
xor eax, edx
mov edx, dword [0x48d6a0]
or edx, eax
mov dword [0x48d6a0], edx
mov dword [esp + 0xb8], 7
jmp 0x41587a
mov eax, dword [0x48e7e8]
add eax, 0xc8bd9e86
mov dword [0x48e7e8], eax
lea ecx, [esp + 0xbc]
call fcn.0044ffa0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], ecx
mov eax, dword [0x48c434]
shl eax, 6
or eax, 0xdafdf7d9
mov ecx, dword [0x4864d0]
imul ecx, eax
mov dword [0x4864d0], ecx
mov dword [esp + 0xb8], 5
lea ecx, [esp + 0xbc]
call fcn.0044ffb0
mov ecx, dword [esp + 0xb8]
mov eax, ecx
sub eax, 5
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
je 0x4158d1
jmp 0x4158a5
mov eax, dword [esp + 0x3c]
sub eax, 7
mov dword [esp + 0x34], eax
jne 0x415c10
jmp 0x4158bb
mov eax, dword [esp + 0xd0]
add eax, 1
mov dword [esp + 0xd0], eax
jmp 0x414cc0
mov eax, dword [0x487d30]
xor eax, 0x15199920
mov dword [0x487d30], eax
mov eax, esp
lea ecx, [esp + 0xed]
mov dword [eax], ecx
mov dword [eax + 4], 0x13
call fcn.004238e0
mov eax, dword [0x48c1d4]
xor eax, 0x71f6febb
mov dword [0x48c1d4], eax
mov eax, dword [esp + 0x118]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x600
call fcn.0044fa10
mov dword [0x489df0], 0xd7dfd367
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
or eax, ecx
mov dword [esp + 0x30], eax
je 0x415b96
jmp 0x415946
mov eax, dword [0x489e08]
add eax, 0xc98eabc8
mov ecx, dword [0x48c370]
xor ecx, eax
mov dword [0x48c370], ecx
mov eax, dword [0x47f904]
mov ecx, esp
mov edx, dword [esp + 0x9c]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x4842ca]
mov ax, si
or eax, 0x7eff
mov si, ax
mov word [0x4842ca], si
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x9c]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x108]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x20], eax
mov si, word [0x482cf0]
mov ax, si
dec eax
mov di, ax
mov word [0x482cf0], di
movsx eax, si
imul eax, eax, 0x2378e88b
xor eax, 0xfcfecbe6
mov edx, dword [0x486a24]
and edx, eax
mov dword [0x486a24], edx
mov ebx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [esp + 0x9c]
add eax, 0x18
mov edx, dword [esp + 0x9c]
mov edx, dword [edx + 0x18]
mov esi, dword [esp + 0x9c]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
jmp 0x415a31
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov eax, ecx
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
lock cmpxchg8b qword [esi]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
jne 0x415a31
jmp 0x415a66
mov ax, word [0x484488]
movsx ecx, ax
not ecx
mov edx, dword [0x486258]
shl edx, 7
and ecx, edx
mov edx, dword [0x485338]
imul edx, ecx
mov dword [0x485338], edx
mov ecx, dword [0x47f908]
mov edx, esp
mov esi, dword [esp + 0x9c]
mov dword [edx], esi
call ecx
sub esp, 4
mov ecx, dword [0x48eaa8]
imul ecx, ecx, 0x8201c2b4
mov dword [0x48eaa8], ecx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x108]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x100]
mov esi, dword [esp + 0x104]
mov dword [ecx + 4], esi
mov dword [ecx], edx
mov ecx, dword [0x489894]
mov edx, ecx
dec edx
mov dword [0x489894], edx
imul ecx, ecx, 0x902e2dca
mov edx, dword [0x48dea8]
add edx, ecx
mov dword [0x48dea8], edx
mov dword [esp + 0x13c], 1
mov ecx, dword [0x48e4f8]
shl ecx, 0xa
cmp ecx, 0x6fcbf8ff
jl 0x415b54
mov ax, word [0x483fd8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x483fd8], ax
movsx ecx, ax
mov edx, 0x3d4f9e5d
sub edx, ecx
mov ecx, dword [0x489c94]
sub ecx, edx
mov dword [0x489c94], ecx
jmp 0x415b91
mov eax, dword [0x486a7c]
xor eax, 0x4285
cmp eax, 0xb7cba7ff
je 0x415b8c
mov eax, 0x50768260
mov ecx, dword [0x48bf0c]
xor ecx, 0x88fc2bbb
cmp eax, ecx
jle 0x415b87
jmp 0x415b87
jmp 0x415b8c
jmp 0x415b91
jmp 0x415b96
mov eax, dword [0x489874]
or eax, 0x377a5146
mov dword [0x489874], eax
lea ecx, [esp + 0xd8]
call fcn.00450450
mov ax, word [0x480b90]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x480b90], ax
movsx ecx, ax
or ecx, 0xf9b49935
mov edx, dword [0x487bd4]
imul edx, edx, 0x99e21a40
add edx, 0xfe88da7d
cmp ecx, edx
je 0x415bff
mov eax, dword [0x48afb4]
mov ecx, 0x63d8da88
sub ecx, eax
mov eax, dword [0x4860d0]
add eax, ecx
mov dword [0x4860d0], eax
mov eax, dword [esp + 0x13c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
push edi
push esi
sub esp, 0x24
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov edi, 0x223f8627
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
mov eax, dword [0x48c754]
imul eax, eax, 0x3c915cb5
cmp edi, eax
mov dword [esp + 0x10], ecx
jg 0x415c5c
mov eax, dword [0x487bb4]
add eax, 0x544530c2
mov dword [0x487bb4], eax
cmp dword [esp + 0x1c], 0
jne 0x415ca4
mov eax, dword [0x484c1c]
shr eax, 2
mov cx, word [0x4839ee]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4839ee], cx
mov dword [esp + 0x1c], 0x473304
mov dword [esp + 0x20], 0
mov eax, dword [0x48bad4]
xor eax, 0x145c5726
mov dword [0x48bad4], eax
mov eax, dword [0x48ae3c]
dec eax
mov dword [0x48ae3c], eax
mov dword [0x4872b0], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, eax
add edx, ecx
mov ecx, dword [esp + 0x18]
mov esi, esp
mov dword [esi + 8], edx
mov dword [esi + 4], eax
mov dword [esi], ecx
mov dword [esi + 0xc], 1
mov ecx, dword [esp + 0x10]
call fcn.0041d6e0
add esp, 0x14
pop esi
pop edi
ret 0xc