Function at 0x411650
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, dword [0x4995cc]
not edx
and edx, 0x508e5a90
mov esi, dword [0x49b008]
or esi, edx
mov dword [0x49b008], esi
mov dword [esp + 0x14c], 0
mov edx, dword [0x4967c8]
sar edx, 5
cmp edx, 0x8268576d
mov dword [esp + 0xb0], ecx
jl 0x4116d3
mov eax, dword [0x499adc]
xor eax, 0x2e47d89a
mov dword [0x499adc], eax
jmp 0x41173d
mov ax, word [0x49d6b4]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49d6b4], dx
movsx ecx, ax
cmp ecx, 0x81a28608
jl 0x41170a
mov eax, dword [0x499604]
xor eax, 0xfb7deb7b
mov dword [0x499604], eax
jmp 0x411738
mov eax, 0x3f6069cd
mov ecx, dword [0x49bf7c]
mov edx, dword [0x49a14c]
mov esi, edx
inc esi
mov dword [0x49a14c], esi
sub ecx, edx
cmp eax, ecx
je 0x411733
jmp 0x411733
jmp 0x411738
jmp 0x41173d
mov eax, esp
mov dword [eax], 0
call fcn.00451550
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], eax
mov eax, dword [0x49c05c]
inc eax
mov dword [0x49c05c], eax
mov edx, dword [0x497380]
sar edx, 5
imul eax, edx
mov dword [0x496758], eax
mov byte [esp + 0x13f], 0
mov dword [0x4983d4], 0x783023b
mov eax, dword [0x495924]
mov edx, esp
mov ecx, dword [esp + 0xb0]
mov dword [edx], ecx
call eax
sub esp, 4
mov eax, dword [0x49c418]
sar eax, 0xa
mov ecx, dword [0x497c44]
lea eax, [eax + ecx - 0x10679468]
mov dword [0x497c44], eax
test byte [esp + 0x15b], 1
je 0x411880
mov eax, dword [0x499fe4]
mov ecx, eax
inc ecx
mov dword [0x499fe4], ecx
and eax, 0xab621766
mov ecx, dword [0x49be08]
imul ecx, eax
mov dword [0x49be08], ecx
mov eax, dword [esp + 0xb0]
add eax, 0x18
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0x18]
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], esi
jmp 0x411816
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
xor edx, edx
mov dword [esp + 0xa0], eax
mov eax, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x9c], edx
mov edx, ecx
mov ebx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0xac]
lock cmpxchg8b qword [esi]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
jne 0x411816
jmp 0x411871
mov eax, dword [0x499020]
add eax, 0x502ff9e6
mov dword [0x499020], eax
mov eax, dword [0x49ab40]
add eax, 0x9def46da
mov ecx, dword [0x49ab0c]
sub ecx, eax
mov dword [0x49ab0c], ecx
xor eax, eax
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xb0]
lock cmpxchg8b qword [esi + 0x18]
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x144]
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], ebx
jae 0x411985
jmp 0x4118ed
mov eax, dword [0x49bdd8]
xor eax, 0x1f7f7f63
mov dword [0x49bdd8], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xb0]
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 [0x496ba4]
or eax, 0xce0f3e71
mov edx, dword [0x496624]
xor edx, eax
mov dword [0x496624], edx
mov dword [esp + 0x14c], 1
mov eax, dword [0x496ee0]
mov edx, eax
inc edx
mov dword [0x496ee0], edx
mov di, word [0x49eb5c]
mov dx, di
inc edx
mov di, dx
mov word [0x49eb5c], di
movsx edx, di
and eax, edx
xor eax, 0xa90e6872
mov edx, dword [0x49c0b8]
imul edx, eax
mov dword [0x49c0b8], edx
jmp 0x4119a5
mov eax, dword [0x496d90]
or eax, 0xbfffdfff
mov dword [0x496d90], eax
mov byte [esp + 0x13f], 1
mov word [0x49e002], 0x8840
mov ax, word [0x49f0a0]
mov cx, ax
imul ecx, ecx, 0x294a3ad6
mov ax, cx
mov word [0x49f0a0], ax
mov ecx, dword [0x495928]
mov edx, esp
mov esi, dword [esp + 0xb0]
mov dword [edx], esi
call ecx
sub esp, 4
mov ecx, dword [0x49cad8]
add ecx, 0xaa4bff0a
mov edx, dword [0x49ad58]
cmp ecx, edx
jg 0x4119fc
mov eax, dword [0x49ae40]
add eax, 0xe7df3589
mov dword [0x49ae40], eax
test byte [esp + 0x13f], 1
je 0x412c35
mov eax, 0x8e75cc62
mov ecx, dword [0x49ac44]
add ecx, 0x37b62fee
mov dword [0x49ac44], ecx
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dx, word [0x49ffb8]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49ffb8], si
movsx ecx, dx
or ecx, 0xc1ffb528
mov edi, dword [0x499254]
sub edi, ecx
mov dword [0x499254], edi
mov dword [esp + 0x12c], 0
mov ecx, dword [0x49a76c]
dec ecx
mov dword [0x49a76c], ecx
add ecx, 0x4d7416b4
cmp eax, ecx
jge 0x411a9e
mov eax, dword [0x49c2d8]
imul eax, eax, 0xd0b1be20
mov dword [0x49c2d8], eax
jmp 0x411aad
mov eax, dword [0x49a690]
and eax, 0x5cd0e81f
mov dword [0x49a690], eax
mov eax, esp
mov dword [eax + 4], 0x600
mov dword [eax], 0x9b8
call fcn.0043b390
mov dword [esp + 0x128], eax
mov eax, dword [0x4970cc]
inc eax
mov dword [0x4970cc], eax
add eax, 0x5851a64c
cmp eax, 0x9f7e5988
je 0x411b00
mov ax, word [0x49e206]
movsx ecx, ax
or ecx, 0x25f550b4
mov edx, dword [0x49ab94]
xor edx, ecx
mov dword [0x49ab94], edx
mov eax, dword [esp + 0x128]
mov cl, byte [eax]
mov byte [esp + 0x127], cl
mov eax, dword [0x495ed4]
mov edx, eax
dec edx
mov dword [0x495ed4], edx
add eax, 0x2df3b657
mov edx, dword [0x496798]
sub edx, eax
mov dword [0x496798], edx
mov eax, dword [0x497f38]
xor eax, 0x522f89c2
mov dword [0x497f38], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov eax, dword [0x4993f4]
mov edx, dword [0x49bf14]
add edx, eax
mov dword [0x49bf14], edx
mov word [esp + 0x110], 2
mov eax, dword [0x497d54]
add eax, 0x1c5d6655
mov si, ax
mov word [0x4a09b6], si
mov eax, dword [0x49c018]
mov edx, eax
dec edx
mov dword [0x49c018], edx
add eax, 0xcc3585a5
mov si, word [0x49e2aa]
mov dx, si
or eax, edx
or eax, 0x5606
mov si, ax
mov word [0x49e2aa], si
mov dword [esp + 0xfd], 0x13
mov si, word [0x4a0520]
mov ax, si
add eax, 0xf8b4f153
mov si, ax
mov word [0x4a0520], si
mov dword [esp + 0x101], 0
mov eax, dword [0x496d00]
xor eax, 0xffffffff
cmp eax, 0x9cc85b2
jg 0x411c1c
mov ax, word [0x49efb4]
movsx ecx, ax
shl ecx, 7
add ecx, 0xe80ddee2
mov edx, dword [0x496cd8]
shl edx, 3
xor ecx, edx
mov edx, dword [0x496800]
or edx, ecx
mov dword [0x496800], edx
jmp 0x411c2f
mov eax, dword [0x49a6a4]
mov ecx, dword [0x49c2c8]
or ecx, eax
mov dword [0x49c2c8], ecx
mov dword [esp + 0x105], 7
mov eax, dword [0x498f24]
not eax
add eax, 0x88419131
mov dword [0x496abc], eax
mov byte [esp + 0x109], 3
mov eax, dword [0x495fec]
add eax, 0xd06080
mov dword [0x495fec], eax
lea eax, [esp + 0xe8]
mov ecx, eax
mov dword [esp + 0x8c], eax
call fcn.00446aa0
mov ecx, dword [0x49a1f0]
not ecx
and ecx, 0x789e
mov dx, word [0x4a0bba]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4a0bba], dx
movzx ecx, byte [esp + 0x127]
mov esi, esp
mov dword [esi], ecx
mov dword [esi + 4], 0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x88], eax
call fcn.0043f930
sub esp, 8
mov eax, dword [0x497748]
inc eax
mov dword [0x497748], eax
imul eax, eax, 0x828d1b7b
mov ecx, dword [0x49a758]
sub ecx, eax
mov dword [0x49a758], ecx
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x411d4f
mov dword [0x49bb00], 0xdae62bde
mov eax, esp
lea ecx, [esp + 0xe4]
mov dword [eax], ecx
lea ecx, [esp + 0xe8]
call fcn.00439e40
sub esp, 4
mov eax, dword [0x49b850]
imul eax, eax, 0xd38b498f
mov dword [0x49b850], eax
mov eax, dword [esp + 0xe4]
add eax, 1
mov dword [esp + 0xe4], eax
jmp 0x411cee
mov eax, dword [0x496484]
mov ecx, dword [0x49b6cc]
sub ecx, eax
mov dword [0x49b6cc], ecx
mov eax, esp
lea ecx, [esp + 0xe8]
mov dword [eax], ecx
call fcn.00413200
mov eax, dword [0x498d7c]
dec eax
mov dword [0x498d7c], eax
imul eax, eax, 0x4b7764ad
mov ecx, dword [0x495e2c]
or ecx, eax
mov dword [0x495e2c], ecx
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x4129e9
mov eax, 0xa916a83b
mov cx, word [0x49e710]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jge 0x411de5
mov ax, word [0x49f80e]
mov cx, ax
add ecx, 0x80001131
mov ax, cx
mov word [0x49f80e], ax
mov eax, 0x9487859e
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
call fcn.00402e00
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 [0x4990c4]
not eax
mov ecx, dword [0x49a6a4]
or ecx, eax
mov dword [0x49a6a4], ecx
mov eax, dword [esp + 0xe0]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x84]
call fcn.00402e00
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x128]
mov si, word [ecx + eax*2 + 5]
mov word [esp + 0x112], si
mov eax, dword [0x49c3f0]
inc eax
mov dword [0x49c3f0], eax
or eax, 0x1ad
mov si, word [0x49f48a]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x49f48a], si
lea ecx, [esp + 0xcc]
call fcn.004444c0
mov si, word [0x49d3a2]
movsx ecx, si
add ecx, 0xba243976
or ecx, 0xcf990113
mov edx, dword [0x49ccb8]
imul edx, ecx
mov dword [0x49ccb8], edx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x10a], ecx
mov ecx, dword [0x4993ac]
add ecx, 0x742aaafe
mov dword [0x4993ac], ecx
mov si, word [esp + 0x112]
mov word [esp + 0x10e], si
mov ecx, dword [0x498964]
mov edx, ecx
dec edx
mov dword [0x498964], edx
mov edx, dword [0x498ae0]
dec edx
xor ecx, edx
mov dword [0x498ae0], edx
xor ecx, 0x50e236cb
mov edx, dword [0x49ba90]
inc edx
mov dword [0x49ba90], edx
mov edi, dword [esp + 0x80]
sub edi, edx
add edi, 0xfc87e0de
cmp ecx, edi
mov dword [esp + 0x7c], eax
jg 0x411fa0
mov eax, 0xffc0565a
mov ecx, dword [0x495c5c]
not ecx
mov edx, dword [0x49ab2c]
xor ecx, edx
cmp eax, ecx
jl 0x411f7e
mov ax, word [0x49f8c6]
mov cx, ax
add ecx, 0xf9c777df
mov ax, cx
mov word [0x49f8c6], ax
jmp 0x411f9b
mov eax, 0x346858
mov ecx, dword [0x4959a4]
cmp eax, ecx
jne 0x411f96
jmp 0x411f96
jmp 0x411f9b
jmp 0x411fa0
mov eax, esp
lea ecx, [esp + 0xfd]
mov dword [eax], ecx
mov dword [eax + 4], 0x13
lea ecx, [esp + 0xcc]
call fcn.00434aa0
sub esp, 8
mov ecx, dword [0x496adc]
mov edx, ecx
dec edx
mov dword [0x496adc], edx
cmp ecx, 0x21fd8752
mov dword [esp + 0x78], eax
jle 0x411ff7
mov eax, dword [0x497ef8]
sar eax, 6
mov ecx, dword [0x49c6f4]
imul ecx, eax
mov dword [0x49c6f4], ecx
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 + 0xb0]
call fcn.0043d1b0
sub esp, 0x10
cmp eax, 0
jg 0x412065
mov eax, dword [0x499ba8]
dec eax
mov dword [0x499ba8], eax
imul eax, eax, 0x9f6b3550
mov ecx, dword [0x49af2c]
and eax, ecx
and eax, 0xe0331bb0
mov dword [0x49af2c], eax
mov dword [esp + 0xc8], 7
jmp 0x412992
lea eax, [esp + 0xcc]
mov ecx, dword [0x498178]
xor ecx, 0xb6bc5c4
mov dword [0x498178], ecx
mov ecx, eax
call fcn.00441880
cmp eax, 0x400
ja 0x4120af
mov eax, dword [0x497eb0]
add eax, 0x947fc85b
mov dword [0x497eb0], eax
mov dword [esp + 0xc8], 7
jmp 0x412992
lea eax, [esp + 0xcc]
mov cx, word [0x49de58]
mov dx, cx
add edx, 0xd23dbf7f
mov cx, dx
mov word [0x49de58], cx
mov ecx, eax
call fcn.00441880
cmp eax, 0x4000
jbe 0x4120fc
mov dword [0x4986c0], 0x544f0241
mov dword [esp + 0xc8], 7
jmp 0x412992
mov ax, word [0x49e9be]
movsx ecx, ax
shr ecx, 1
and ecx, 0x68048adb
mov edx, dword [0x49be28]
add edx, ecx
mov dword [0x49be28], edx
lea ecx, [esp + 0xcc]
call fcn.004131b0
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 + 0x74], eax
mov dword [esp + 0x70], ecx
jae 0x4121f8
jmp 0x412151
mov ax, word [0x49edd6]
mov cx, ax
and ecx, 0xe6ef
mov ax, cx
mov word [0x49edd6], ax
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x12c], ecx
mov ax, word [0x49e0b0]
mov cx, ax
imul ecx, ecx, 0xc331e8f1
mov ax, cx
mov word [0x49e0b0], ax
cmp dword [esp + 0x12c], 3
jne 0x4121c6
mov ax, word [0x49e268]
mov cx, ax
or ecx, 0x2a43
mov ax, cx
mov word [0x49e268], ax
mov dword [esp + 0xc8], 5
jmp 0x412992
mov ax, word [0x49e5c8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49e5c8], ax
movsx ecx, ax
and ecx, 0xa5bcea39
mov dword [0x499200], ecx
mov dword [esp + 0xc8], 7
jmp 0x412992
mov eax, 0x54d1f245
mov ecx, dword [0x49bffc]
sar ecx, 9
imul ecx, ecx, 0x5ecbe435
cmp eax, ecx
je 0x412228
mov eax, dword [0x499298]
xor eax, 0x40318cb6
mov dword [0x499298], eax
jmp 0x412248
mov eax, dword [0x498c90]
and eax, 0x1610
mov cx, word [0x49f104]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x49f104], cx
mov eax, 0x558519a
mov dword [esp + 0x12c], 0
mov ecx, dword [0x49b6a4]
xor ecx, 0xffffffff
xor ecx, 0xc82949d1
cmp eax, ecx
jl 0x41227e
mov dword [0x499218], 0xff2ff7be
jmp 0x4122c6
mov eax, 0x8200c0
mov cx, word [0x49f714]
movsx edx, cx
xor edx, 0xffffffff
imul edx, edx, 0x19e4fce1
and edx, 0x93552ef3
cmp eax, edx
jle 0x4122b8
mov eax, dword [0x496bb4]
or eax, 0xbefeffa7
mov dword [0x496bb4], eax
jmp 0x4122c1
mov word [0x49ea20], 0x5e35
jmp 0x4122c6
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xcc]
mov dword [esp + 0x6c], eax
call fcn.004131b0
movzx eax, word [eax + 8]
mov dword [esp + 0xc4], eax
mov dword [0x49887c], 0x30b014be
imul eax, dword [esp + 0xc4], 6
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
call fcn.00441880
sub eax, 0x400
sub eax, 0xa
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x41233a
mov eax, dword [0x49ad2c]
or eax, 0x5a9ed915
mov dword [0x49ad2c], eax
mov dword [esp + 0xc8], 7
jmp 0x412992
mov eax, dword [0x49a574]
add eax, 0xaa07281b
or eax, 0x8c179660
mov ecx, dword [0x499894]
imul ecx, eax
mov dword [0x499894], ecx
mov byte [esp + 0xc3], 0
mov eax, dword [0x49cbf8]
inc eax
mov dword [0x49cbf8], eax
imul eax, eax, 0x40da40c8
add eax, 0xfdc6e3ee
mov ecx, dword [0x497ea4]
sub ecx, eax
mov dword [0x497ea4], ecx
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, dword [esp + 0xc4]
je 0x412526
lea eax, [esp + 0xcc]
mov ecx, dword [0x495c34]
add ecx, 0x4c5a7617
mov dword [0x495c34], ecx
mov ecx, dword [esp + 0x114]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x64], ecx
mov ecx, eax
mov dword [esp + 0x60], edx
call fcn.004131b0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
cmp ecx, dword [eax + edx]
jne 0x4124de
mov eax, dword [0x49bd74]
mov ecx, dword [0x49a6c4]
sub eax, ecx
cmp eax, 0xdfe9afb6
je 0x41244f
mov eax, 0x9e4ac0ed
mov ecx, dword [0x498034]
add ecx, 0xd33e7f99
add ecx, 0x6551501
cmp eax, ecx
jl 0x41244a
mov eax, 0xb6333390
mov ecx, dword [0x4962e0]
shl ecx, 5
sub eax, ecx
cmp eax, 0x993c15e4
jle 0x412445
jmp 0x412445
jmp 0x41244a
jmp 0x41244f
lea eax, [esp + 0xcc]
movzx ecx, word [esp + 0x112]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x58], edx
call fcn.004131b0
mov ecx, dword [esp + 0x58]
movzx eax, word [eax + ecx + 4]
mov edx, dword [esp + 0x5c]
cmp edx, eax
jne 0x4124bd
mov dword [0x495b60], 0xf1beefff
mov byte [esp + 0xc3], 1
mov eax, dword [0x4962d4]
mov ecx, 0x3ccd8546
sub ecx, eax
mov eax, dword [0x4984b4]
imul eax, ecx
mov dword [0x4984b4], eax
jmp 0x412526
mov eax, dword [0x49cfe8]
mov ecx, eax
dec ecx
mov dword [0x49cfe8], ecx
mov ecx, 0xb12f9b77
sub ecx, eax
mov eax, dword [0x496ad0]
or eax, ecx
mov dword [0x496ad0], eax
mov eax, dword [0x49a150]
inc eax
mov dword [0x49a150], eax
mov cx, word [0x49e854]
mov dx, cx
sub eax, edx
add eax, 0xa87ae2fb
mov cx, word [0x49d4b4]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49d4b4], cx
mov eax, dword [esp + 0xbc]
add eax, 1
mov dword [esp + 0xbc], eax
jmp 0x41238f
mov dword [0x497ce8], 0x344df716
test byte [esp + 0xc3], 1
jne 0x412569
mov eax, dword [0x499c9c]
sar eax, 8
add eax, 0xa9e6c1a1
mov ecx, dword [0x49b4a8]
xor ecx, eax
mov dword [0x49b4a8], ecx
mov dword [esp + 0xc8], 7
jmp 0x412992
mov eax, 0xb67f18e9
mov ecx, dword [0x495a08]
mov edx, ecx
inc edx
mov dword [0x495a08], edx
and ecx, 0xc2343a6d
cmp eax, ecx
jg 0x41259b
mov eax, dword [0x4995a8]
imul eax, eax, 0xd27fc1f2
mov dword [0x4995a8], eax
mov eax, 0x299d95fc
mov ecx, esp
mov dword [ecx + 4], 0x408
mov dword [ecx], 0x29c4
mov dword [esp + 0x54], eax
call fcn.0043b390
mov dword [esp + 0xb8], eax
mov eax, dword [0x49c058]
shl eax, 8
mov ecx, dword [0x49920c]
add eax, ecx
or eax, 0x37b85c51
mov ecx, dword [0x496d38]
mov edx, ecx
dec edx
mov dword [0x496d38], edx
mov edx, dword [esp + 0x54]
sub edx, ecx
cmp eax, edx
jl 0x412671
mov ax, word [0x49df2e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49df2e], dx
movsx ecx, ax
mov esi, dword [0x4970b8]
mov edi, esi
inc edi
mov dword [0x4970b8], edi
and ecx, esi
xor ecx, 0x4fcdeb9b
cmp ecx, 0x6ce22144
je 0x41266c
mov eax, dword [0x49cd7c]
dec eax
mov dword [0x49cd7c], eax
mov cx, word [0x49e62a]
mov dx, cx
dec edx
mov si, dx
mov word [0x49e62a], si
movsx edx, cx
sub edx, 0xfb0a6c48
xor edx, 0x74df0327
cmp eax, edx
jne 0x412667
jmp 0x412667
jmp 0x41266c
jmp 0x412671
mov eax, 0xa01c6aa2
lea ecx, [esp + 0xcc]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
call fcn.00441880
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
call fcn.004131b0
mov ecx, dword [esp + 0xb8]
mov edx, esp
mov esi, dword [esp + 0x48]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0042b2b0
mov dword [esp + 0xb4], eax
mov eax, dword [0x49b54c]
mov ecx, dword [0x496220]
or eax, ecx
or eax, 0xac77007d
mov dword [0x496220], eax
mov eax, dword [esp + 0xb8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x408
call fcn.00403dd0
mov eax, dword [0x49b110]
inc eax
mov dword [0x49b110], eax
sub eax, 0x54b6897a
sub eax, 0x7b959cbd
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
je 0x412724
mov ax, word [0x49ec9a]
mov cx, ax
or ecx, 0x2a2d
mov ax, cx
mov word [0x49ec9a], ax
jmp 0x41273c
mov eax, dword [0x497284]
and eax, 0x6cbc3bec
mov ecx, dword [0x496a8c]
or ecx, eax
mov dword [0x496a8c], ecx
cmp dword [esp + 0xb4], 4
jle 0x41276f
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x44], ecx
mov ecx, eax
call fcn.00441880
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jbe 0x412842
mov eax, dword [0x497e94]
shl eax, 0xa
xor eax, 0x66a12e6e
mov cx, word [0x49ed8c]
movsx edx, cx
add edx, 0x6b8fb5f
mov esi, dword [0x49b6cc]
or edx, esi
cmp eax, edx
jle 0x4127e1
mov eax, 0x7e7b7e9e
mov cx, word [0x49fb60]
movsx edx, cx
mov esi, dword [0x495dd0]
mov edi, esi
dec edi
mov dword [0x495dd0], edi
add edx, esi
cmp eax, edx
jle 0x4127dc
mov ax, word [0x4a0526]
mov cx, ax
add ecx, 0xc3131c54
mov ax, cx
mov word [0x4a0526], ax
jmp 0x4127f0
mov eax, dword [0x497d28]
add eax, 0xe4265d5a
mov dword [0x497d28], eax
mov dword [esp + 0xb4], 0
mov ax, word [0x4a008a]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a008a], ax
movsx ecx, ax
mov ax, word [0x49d360]
mov dx, ax
dec edx
mov ax, dx
mov word [0x49d360], ax
movsx edx, ax
sub ecx, edx
or ecx, 0xb5e32bfd
mov edx, dword [0x4979a0]
sub edx, ecx
mov dword [0x4979a0], edx
jmp 0x4128cf
mov eax, 0x6faefa52
mov word [0x49e418], 0x3fd7
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffffc
mov dword [esp + 0xb4], ecx
mov dx, word [0x49efb2]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x49efb2], dx
movsx ecx, dx
xor ecx, 0xdb59cfcb
cmp eax, ecx
jg 0x41289c
mov eax, dword [0x498288]
imul eax, eax, 0xfa4676c5
mov dword [0x498288], eax
jmp 0x4128ca
mov ax, word [0x49e9a2]
movsx ecx, ax
mov edx, dword [0x4975cc]
mov esi, edx
dec esi
mov dword [0x4975cc], esi
imul edx, edx, 0xf0261d37
sub ecx, edx
mov edx, dword [0x49b848]
and edx, ecx
mov dword [0x49b848], edx
jmp 0x4128cf
mov eax, dword [0x49928c]
mov cx, word [0x49fcfc]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49fcfc], cx
mov eax, dword [esp + 0xb4]
imul edx, dword [esp + 0xc4], 6
add edx, 0xa
cmp eax, edx
jge 0x41292f
mov ax, word [0x49d828]
movsx ecx, ax
shr ecx, 3
or ecx, 0x438a
mov ax, cx
mov word [0x4a048a], ax
mov dword [esp + 0xc8], 7
jmp 0x412992
mov eax, dword [0x49b8e8]
add eax, 0xb59c62c4
mov cx, word [0x4a0598]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a0598], cx
lea ecx, [esp + 0xcc]
call fcn.004131b0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], ecx
mov si, word [0x49e82e]
mov ax, si
add eax, 0x82645229
mov si, ax
mov word [0x49e82e], si
mov dword [esp + 0xc8], 5
lea ecx, [esp + 0xcc]
call fcn.0042fae0
mov ecx, dword [esp + 0xc8]
mov eax, ecx
sub eax, 5
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
je 0x4129e9
jmp 0x4129bd
mov eax, dword [esp + 0x40]
sub eax, 7
mov dword [esp + 0x38], eax
jne 0x412c52
jmp 0x4129d3
mov eax, dword [esp + 0xe0]
add eax, 1
mov dword [esp + 0xe0], eax
jmp 0x411d9c
mov eax, dword [0x499510]
xor eax, 0xe6865a8c
mov dword [0x499510], eax
mov eax, esp
lea ecx, [esp + 0xfd]
mov dword [eax], ecx
mov dword [eax + 4], 0x13
call fcn.004030c0
mov eax, dword [0x496750]
mov dword [0x498640], eax
mov eax, dword [esp + 0x128]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x600
call fcn.00403dd0
mov dx, word [0x49d5e8]
mov ax, dx
or eax, 0xf26f
mov dx, ax
mov word [0x49d5e8], dx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
or eax, ecx
mov dword [esp + 0x34], eax
je 0x412c11
jmp 0x412a68
mov ax, word [0x49fe36]
mov cx, ax
add ecx, 0xb20002
mov ax, cx
mov word [0x49fe36], ax
mov ecx, dword [0x495924]
mov edx, esp
mov esi, dword [esp + 0xb0]
mov dword [edx], esi
call ecx
sub esp, 4
mov ecx, dword [0x495c7c]
add ecx, 0x43ffc874
mov dword [0x495c7c], ecx
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0xb0]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x118]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x110]
mov esi, dword [esp + 0x114]
mov dword [edx + 0x24], esi
mov dword [edx + 0x20], ecx
mov ecx, dword [0x496980]
xor ecx, 0xff3bffff
mov dword [0x496980], ecx
mov ebx, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
add edx, 0x18
mov esi, dword [esp + 0xb0]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], esi
jmp 0x412b20
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
lock cmpxchg8b qword [esi]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
jne 0x412b20
jmp 0x412b55
mov eax, dword [0x497b30]
or eax, 0x411c69c6
mov ecx, dword [0x49b9e0]
and ecx, eax
mov dword [0x49b9e0], ecx
mov eax, dword [0x495928]
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x49f814]
movsx eax, si
mov si, word [0x49e662]
movsx ecx, si
sar ecx, 3
imul ecx, ecx, 0x10a9df1c
lea eax, [ecx + eax*2]
mov ecx, dword [0x496330]
add ecx, eax
mov dword [0x496330], ecx
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 [0x49666c]
imul eax, eax, 0xd46b8400
mov ecx, dword [0x49a27c]
and ecx, eax
mov dword [0x49a27c], ecx
mov dword [esp + 0x14c], 1
mov eax, dword [0x49a894]
and eax, 0xce1348fe
mov dword [0x49a894], eax
mov eax, dword [0x49c458]
and eax, 0x6964a72b
mov ecx, dword [0x496330]
sub ecx, eax
mov dword [0x496330], ecx
lea ecx, [esp + 0xe8]
call fcn.0042efb0
mov ax, word [0x4a0374]
mov word [0x4a0374], ax
mov eax, dword [esp + 0x14c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
int3