Function at 0x421bc0
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 [0x4abc3c]
add esi, 0x5c4cd280
mov dword [0x4abc3c], esi
mov dword [esp + 0x14c], 0
mov esi, dword [0x4aaa44]
xor esi, 0xffffdead
mov dword [0x4aaa44], esi
mov esi, esp
mov dword [esi], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], edx
call fcn.00451280
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], eax
mov eax, dword [0x4b21fc]
mov ecx, dword [0x4ae5d0]
xor eax, ecx
xor eax, 0xc108947a
mov dword [0x4ae5d0], eax
mov byte [esp + 0x13f], 0
mov eax, dword [0x4a6630]
imul eax, eax, 0x1fb72720
mov dword [0x4a6630], eax
mov eax, dword [0x49d924]
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x4b0000]
or eax, 0x8e012858
mov dword [0x4b0000], eax
test byte [esp + 0x15b], 1
je 0x421d78
mov eax, dword [0x4b03b8]
imul eax, eax, 0xc754a1b2
mov ecx, dword [0x4b0864]
lea eax, [eax + ecx - 0x75099395]
mov dword [0x4b0864], eax
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 0x421cf5
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 0x421cf5
jmp 0x421d50
mov eax, dword [0x4b161c]
shr eax, 3
and eax, 0x8115
or eax, 0x526a
mov cx, word [0x4a20de]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a20de], cx
mov ax, word [0x49fe9e]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49fe9e], dx
movsx ecx, ax
mov esi, dword [0x4a93e8]
mov edi, esi
dec edi
mov dword [0x4a93e8], edi
add ecx, esi
mov esi, dword [0x4ae40c]
inc esi
mov dword [0x4ae40c], esi
cmp ecx, esi
jg 0x421dcd
mov ax, word [0x4a1762]
mov cx, ax
and ecx, 0x9048
mov ax, cx
mov word [0x4a1762], ax
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 0x421f14
jmp 0x421e22
mov eax, dword [0x4a97c4]
or eax, 0xe90921b7
mov dword [0x4ac9c4], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xac]
movsd xmm0, qword [ecx + 0x20]
movsd xmm1, qword [ecx + 0x28]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [0x4b0830]
add eax, 0xe44a5b5
mov edx, dword [0x4a9b48]
add edx, 0x60465ae5
cmp eax, edx
jl 0x421e91
mov ax, word [0x49e658]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49e658], ax
movsx ecx, ax
mov dword [0x4a8768], ecx
jmp 0x421edf
mov eax, 0x249e3603
mov ecx, dword [0x4b11d4]
sub eax, ecx
sub eax, 0x88711080
cmp eax, 0xf1a8725f
jge 0x421eda
mov ax, word [0x49e6fc]
movsx ecx, ax
shr ecx, 9
add ecx, 0xbc75b99
xor ecx, 0xd766
mov ax, word [0x4a0864]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x4a0864], ax
jmp 0x421edf
mov dword [esp + 0x14c], 1
mov eax, dword [0x4b0750]
xor eax, 0x80
or eax, 0x7e62
mov cx, word [0x4a3112]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4a3112], cx
jmp 0x421f4c
mov ax, word [0x49dd7a]
mov cx, ax
and ecx, 0xf1cb
mov ax, cx
mov word [0x49dd7a], ax
mov byte [esp + 0x13f], 1
mov ax, word [0x4a4746]
mov cx, ax
imul ecx, ecx, 0x10434a10
mov ax, cx
mov word [0x4a4746], ax
mov ax, word [0x4a143c]
mov cx, ax
add ecx, 0x8c8376f5
mov ax, cx
mov word [0x4a143c], ax
mov ecx, dword [0x49d928]
mov edx, esp
mov esi, dword [esp + 0xac]
mov dword [edx], esi
call ecx
sub esp, 4
mov ecx, dword [0x4aecf4]
or ecx, 0xf3500
mov edx, dword [0x4b1218]
xor edx, ecx
mov dword [0x4b1218], edx
test byte [esp + 0x13f], 1
je 0x4232bc
mov eax, 0x270c0904
mov ecx, dword [0x4af6ec]
inc ecx
mov dword [0x4af6ec], ecx
add ecx, 0xac1c12bd
sub ecx, 0x4d5c7b4
cmp eax, ecx
jg 0x421fd7
mov eax, dword [0x4a67a4]
xor eax, 0x8da8e334
mov dword [0x4a67a4], eax
mov eax, 0x992be300
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov ecx, dword [0x4a96d0]
imul ecx, ecx, 0xcddf3544
or ecx, 0xc080abe5
mov edx, dword [0x4ab34c]
imul edx, ecx
mov dword [0x4ab34c], edx
mov dword [esp + 0x12c], 0
mov ecx, dword [0x4acfdc]
sar ecx, 1
mov edx, dword [0x4a546c]
sar edx, 1
imul edx, edx, 0x4c66e57a
and ecx, edx
cmp eax, ecx
jne 0x422057
mov eax, dword [0x4b17ac]
and eax, 0x887540ce
mov ecx, dword [0x4a4f1c]
sub ecx, eax
mov dword [0x4a4f1c], ecx
mov eax, esp
mov dword [eax + 4], 0x600
mov dword [eax], 0x79bc
call fcn.00444b60
mov dword [esp + 0x128], eax
mov eax, dword [0x4a6e9c]
xor eax, 0x482618c4
mov dword [0x4a6e9c], eax
mov eax, dword [esp + 0x128]
mov cl, byte [eax]
mov byte [esp + 0x127], cl
mov dword [0x4afecc], 0x65d75e88
mov dx, word [0x4a473e]
mov ax, dx
inc eax
mov si, ax
mov word [0x4a473e], si
movsx eax, dx
xor eax, 0xc133dd44
cmp eax, 0xac1719ad
je 0x4220d2
mov eax, dword [0x4a9270]
and eax, 0xa042fb44
mov dword [0x4a9270], eax
mov eax, 0xbed92ff1
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov ecx, dword [0x4a5e54]
and ecx, 0xb364b425
mov dword [0x4a5e54], ecx
mov word [esp + 0x110], 2
mov ecx, dword [0x4a7a8c]
cmp eax, ecx
jle 0x422149
mov ax, word [0x4a34d4]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a34d4], dx
movsx ecx, ax
xor ecx, 0x4fbe0c3d
cmp ecx, 0x34000808
je 0x422144
mov eax, dword [0x4a6604]
or eax, 0x2158de70
mov dword [0x4a6604], eax
jmp 0x422149
mov eax, 0xadee1102
mov cx, word [0x49f66a]
mov dx, cx
imul edx, edx, 0x7fbfb7fd
mov cx, dx
mov word [0x49f66a], cx
mov dword [esp + 0xfd], 0x13
mov edx, dword [0x4a8a5c]
or edx, 0x352a6452
mov dword [0x4a8a5c], edx
mov dword [esp + 0x101], 0
mov edx, dword [0x4af934]
or edx, 0x97b16266
mov dword [0x4af934], edx
mov dword [esp + 0x105], 7
mov edx, dword [0x4ab844]
add edx, 0x54a536ff
mov dword [0x4ab844], edx
mov byte [esp + 0x109], 3
mov cx, word [0x4a395e]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a395e], cx
movsx edx, cx
mov cx, word [0x49e48c]
movsx esi, cx
sub edx, esi
mov esi, dword [0x4aae6c]
sub esi, edx
mov dword [0x4aae6c], esi
lea edx, [esp + 0xe8]
mov ecx, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
call fcn.0043c470
mov di, word [0x49fbbe]
mov cx, di
add ecx, 0x1d8eacd7
mov di, cx
mov word [0x49fbbe], di
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.004373b0
sub esp, 8
mov eax, dword [0x4aa52c]
add eax, 0xf3532f14
add eax, 0xcb33cdce
mov ecx, dword [esp + 0x88]
cmp ecx, eax
je 0x4222a7
mov ax, word [0x4a1ab2]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a1ab2], dx
movsx ecx, ax
or ecx, 0x13085715
and ecx, 0x770cf79d
mov esi, dword [0x4a9858]
sub esi, ecx
mov dword [0x4a9858], esi
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x422331
mov eax, dword [0x4a9fcc]
add eax, 0xf74b686a
mov ecx, dword [0x4ad0b8]
and ecx, eax
mov dword [0x4ad0b8], ecx
mov eax, esp
lea ecx, [esp + 0xe4]
mov dword [eax], ecx
lea ecx, [esp + 0xe8]
call fcn.004370c0
sub esp, 4
mov eax, dword [0x4ab8f4]
xor eax, 0x2989
mov dx, word [0x49e236]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x49e236], dx
mov eax, dword [esp + 0xe4]
add eax, 1
mov dword [esp + 0xe4], eax
jmp 0x4222b2
mov eax, 0x81d2e4a3
mov ecx, dword [0x4ae1f8]
xor ecx, 0xffffffff
add ecx, 0x5bc4296d
xor ecx, 0xc51a2d7a
cmp eax, ecx
je 0x42237b
mov eax, dword [0x4ae1a0]
shl eax, 3
and eax, 0xec10
mov cx, word [0x4a25a0]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a25a0], cx
jmp 0x42238a
mov eax, dword [0x4a7af8]
and eax, 0x72d6d44b
mov dword [0x4a7af8], eax
mov eax, esp
lea ecx, [esp + 0xe8]
mov dword [eax], ecx
call fcn.0041e610
mov eax, dword [0x4ae724]
mov ecx, dword [0x4a7750]
shl ecx, 6
mov edx, 0xada3a29f
sub edx, ecx
and eax, edx
mov ecx, dword [0x4aa30c]
add ecx, eax
mov dword [0x4aa30c], ecx
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x423019
mov ax, word [0x49e284]
movsx ecx, ax
xor ecx, 0x17fe2f43
or ecx, 0xa3fc828e
cmp ecx, 0x43503b51
jne 0x422457
mov eax, 0xa7acd1ad
mov cx, word [0x49dd5e]
mov dx, cx
inc edx
mov si, dx
mov word [0x49dd5e], si
movsx edx, cx
xor edx, 0x7058223f
xor edx, 0x854d4cf6
cmp eax, edx
jg 0x422452
mov ax, word [0x49fd44]
movsx ecx, ax
add ecx, ecx
and ecx, 0xe0300a80
mov edx, dword [0x4a49f4]
xor edx, ecx
mov dword [0x4a49f4], edx
jmp 0x422476
mov eax, dword [0x4b200c]
inc eax
mov dword [0x4b200c], eax
mov ecx, dword [0x4ac5b0]
imul eax, ecx
imul eax, eax, 0x2789a1e7
mov dword [0x4ac5b0], eax
mov eax, 0x112050aa
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x7c], eax
call fcn.0040db70
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 si, word [0x4a3c48]
movsx eax, si
or eax, 0x7116b4cc
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jne 0x422534
mov eax, 0x8336187e
mov cx, word [0x49ebd6]
movsx edx, cx
sar edx, 4
and edx, 0xc1d29d5f
and edx, 0xf96d1a26
cmp eax, edx
jg 0x422520
mov eax, dword [0x4a5ea4]
inc eax
mov dword [0x4a5ea4], eax
or eax, 0xa217fd99
mov ecx, dword [0x4a9940]
inc ecx
mov dword [0x4a9940], ecx
cmp eax, ecx
jge 0x42251b
jmp 0x42251b
jmp 0x42252f
mov eax, dword [0x4b2834]
xor eax, 0x41808002
mov dword [0x4b2834], eax
jmp 0x422534
mov eax, 0x9bf527e4
mov ecx, dword [esp + 0xe0]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x78], eax
call fcn.0040db70
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 dword [0x4b0bd4], 0x3dae9797
lea ecx, [esp + 0xcc]
call fcn.0041fc70
mov ecx, dword [0x4b25f4]
sub ecx, 0x833fb70d
or ecx, 0x536230f0
mov edx, dword [esp + 0x78]
cmp edx, ecx
mov dword [esp + 0x74], eax
jne 0x4225b2
mov dword [0x4a8010], 0xd4b7f52b
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10a], eax
mov eax, dword [0x4ab988]
or eax, 0x810c9b28
mov cx, word [0x49fa96]
movsx edx, cx
xor edx, 0x88a04
cmp eax, edx
jg 0x4225fa
mov ax, word [0x49fc82]
mov cx, ax
and ecx, 0x2079
mov ax, cx
mov word [0x49fc82], ax
mov eax, 0x7fffdf97
mov cx, word [esp + 0x112]
mov word [esp + 0x10e], cx
mov cx, word [0x49ff3c]
movsx edx, cx
shl edx, 3
cmp eax, edx
jg 0x422676
mov eax, dword [0x4ad7f0]
shl eax, 9
mov ecx, dword [0x4b1420]
dec ecx
mov dword [0x4b1420], ecx
xor ecx, 0x7003d31f
cmp eax, ecx
jle 0x422671
mov eax, dword [0x4af650]
dec eax
mov dword [0x4af650], eax
add eax, 0x7a62f5e3
and eax, 0x825a2691
cmp eax, 0x9fffe3f9
jne 0x42266c
jmp 0x42266c
jmp 0x422671
jmp 0x422676
mov eax, esp
lea ecx, [esp + 0xfd]
mov dword [eax], ecx
mov dword [eax + 4], 0x13
lea ecx, [esp + 0xcc]
call fcn.0044ee00
sub esp, 8
mov word [0x4a06da], 0xe102
mov ecx, esp
lea edx, [esp + 0xcc]
mov dword [ecx + 4], edx
lea edx, [esp + 0x110]
mov dword [ecx], edx
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 2
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x70], eax
call fcn.0042ee20
sub esp, 0x10
cmp eax, 0
jg 0x4226fe
mov eax, dword [0x4b2214]
or eax, 0xf677ce05
mov dword [0x4b2214], eax
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov eax, 0x2987a6e4
mov ecx, dword [0x4a761c]
mov dx, word [0x49f9c2]
movsx esi, dx
imul ecx, esi
cmp eax, ecx
je 0x42272d
mov eax, dword [0x4a8c14]
and eax, 0x2b2528da
mov dword [0x4a8c14], eax
lea eax, [esp + 0xcc]
mov ecx, eax
call fcn.0041af10
cmp eax, 0x400
ja 0x422760
mov dword [0x4b1ce4], 0xdb117e6a
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov eax, dword [0x4ac7b4]
xor eax, 0x5afab19b
xor eax, 0x439165e9
cmp eax, 0x38d8a145
jge 0x422789
mov eax, dword [0x4af744]
or eax, 0xf99b9e4a
mov dword [0x4af744], eax
lea eax, [esp + 0xcc]
mov ecx, eax
call fcn.0041af10
cmp eax, 0x4000
jbe 0x4227d5
mov eax, dword [0x4a8b10]
mov ecx, dword [0x4a7f2c]
and eax, ecx
mov dx, word [0x4a0b04]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4a0b04], dx
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov eax, dword [0x4a7ed0]
mov ecx, eax
inc ecx
mov dword [0x4a7ed0], ecx
mov ecx, dword [0x4b23c0]
imul eax, ecx
imul eax, eax, 0x435ed930
mov dword [0x4b23c0], eax
lea ecx, [esp + 0xcc]
call fcn.0042e190
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 0x4228c6
jmp 0x42282d
mov ax, word [0x4a0858]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a0858], dx
movsx ecx, ax
or ecx, 0x77eceac
mov esi, dword [0x4af49c]
sub esi, ecx
mov dword [0x4af49c], esi
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x12c], ecx
mov dword [0x4afb64], 0x27a3e357
cmp dword [esp + 0x12c], 3
jne 0x42289e
mov eax, dword [0x4a8150]
and eax, 0xe0080011
mov dword [0x4a8150], eax
mov dword [esp + 0xc8], 5
jmp 0x422fc2
mov ax, word [0x49fef0]
mov cx, ax
imul ecx, ecx, 0x31bf1608
mov ax, cx
mov word [0x49fef0], ax
mov dword [esp + 0xc8], 7
jmp 0x422fc2
lea eax, [esp + 0xcc]
mov ecx, dword [0x4af3a4]
mov edx, ecx
inc edx
mov dword [0x4af3a4], edx
xor ecx, 0xa0c3
mov edx, dword [0x4b1844]
mov esi, edx
inc esi
mov dword [0x4b1844], esi
or ecx, edx
mov di, word [0x4a1060]
mov dx, di
or edx, ecx
mov di, dx
mov word [0x4a1060], di
mov dword [esp + 0x12c], 0
mov dword [0x4b0a8c], 0x928a3a61
lea ecx, [esp + 0xcc]
mov dword [esp + 0x64], eax
call fcn.0042e190
movzx eax, word [eax + 8]
mov dword [esp + 0xc4], eax
mov eax, dword [0x4a8988]
mov ecx, dword [0x4a9448]
xor eax, ecx
mov di, word [0x49f48e]
mov cx, di
or ecx, eax
mov di, cx
mov word [0x49f48e], di
imul eax, dword [esp + 0xc4], 6
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x60], eax
call fcn.0041af10
sub eax, 0x400
sub eax, 0xa
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jbe 0x4229ff
mov eax, 0x989e2668
mov ecx, dword [0x4a561c]
xor ecx, 0xffffffff
or ecx, 0x113526aa
cmp eax, ecx
jge 0x4229ef
mov eax, 0x137a3ff3
mov cx, word [0x4a0a64]
movsx edx, cx
imul edx, edx, 0x7ceec13e
cmp eax, edx
jle 0x4229ea
mov eax, dword [0x4ace4c]
inc eax
mov dword [0x4ace4c], eax
imul eax, eax, 0x18d7f352
mov cx, word [0x4a11c2]
mov dx, cx
lea eax, [eax + edx + 0x3ecccd48]
mov cx, ax
mov word [0x4a11c2], cx
jmp 0x4229ef
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov ax, word [0x49eb68]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49eb68], ax
movsx ecx, ax
cmp ecx, 0xaab13344
jl 0x422a87
mov eax, 0x516aff03
mov ecx, dword [0x4a4fe8]
mov edx, ecx
dec edx
mov dword [0x4a4fe8], edx
mov si, word [0x49f31a]
mov dx, si
inc edx
mov di, dx
mov word [0x49f31a], di
movsx edx, si
neg edx
lea ecx, [ecx + edx - 1]
mov si, word [0x49dfa2]
movsx edx, si
xor edx, 0xffffffff
and ecx, edx
cmp eax, ecx
jle 0x422a82
mov ax, word [0x4a362e]
mov cx, ax
xor ecx, 0x2eff
mov ax, cx
mov word [0x4a362e], ax
jmp 0x422a87
mov byte [esp + 0xc3], 0
mov eax, dword [0x4aba44]
and eax, 0x9f52da8e
mov dword [0x4aba44], eax
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, dword [esp + 0xc4]
je 0x422c39
mov ax, word [0x4a31ba]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a31ba], ax
movsx ecx, ax
mov edx, 0xe3eb9e40
sub edx, ecx
mov ecx, dword [0x4b1630]
dec ecx
mov dword [0x4b1630], ecx
mov esi, dword [0x4a51ac]
xor ecx, esi
cmp edx, ecx
jg 0x422b0f
mov eax, dword [0x4a7970]
mov ecx, eax
inc ecx
mov dword [0x4a7970], ecx
add eax, 0x2e74035b
mov dword [0x4ac280], eax
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0x114]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x58], edx
call fcn.0042e190
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp ecx, dword [eax + edx]
jne 0x422c19
lea eax, [esp + 0xcc]
mov ecx, dword [0x4b1ec4]
and ecx, 0x7d533ee6
mov dword [0x4b1ec4], ecx
movzx ecx, word [esp + 0x112]
imul edx, dword [esp + 0xbc], 6
add edx, 0xa
mov dword [esp + 0x54], ecx
mov ecx, eax
mov dword [esp + 0x50], edx
call fcn.0042e190
mov ecx, dword [esp + 0x50]
movzx eax, word [eax + ecx + 4]
mov edx, dword [esp + 0x54]
cmp edx, eax
jne 0x422c09
mov eax, dword [0x4a5254]
dec eax
mov dword [0x4a5254], eax
mov ecx, dword [0x4b199c]
xor ecx, eax
mov dword [0x4b199c], ecx
mov byte [esp + 0xc3], 1
mov eax, dword [0x4ac348]
mov ecx, 0x3f3b9202
sub ecx, eax
mov eax, dword [0x4ab098]
sar eax, 1
sub eax, 0x771f6a6b
and eax, 0x55f7a9ac
cmp ecx, eax
jle 0x422bf4
mov eax, dword [0x4a5740]
imul eax, eax, 0x3041d31
mov dword [0x4a5740], eax
jmp 0x422c04
mov eax, dword [0x4a5d28]
imul eax, eax, 0xc68cf9d2
mov dword [0x4a5d28], eax
jmp 0x422c39
mov eax, dword [0x4a7b44]
imul eax, eax, 0xbf61e710
mov dword [0x4a7b44], eax
mov dword [0x4aa2d8], 0x4970f19c
mov eax, dword [esp + 0xbc]
add eax, 1
mov dword [esp + 0xbc], eax
jmp 0x422aa9
mov ax, word [0x4a16b8]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x4a16b8], ax
imul ecx, ecx, 0xa415fa7f
add ecx, 0xc4892f3
mov ax, word [0x4a291c]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4a291c], ax
test byte [esp + 0xc3], 1
jne 0x422c9c
mov eax, dword [0x4b1338]
add eax, 0xc559e35d
mov dword [0x4b1338], eax
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov eax, 0x3b95c8f8
mov ecx, dword [0x4b2144]
mov edx, dword [0x4b05fc]
mov esi, edx
dec esi
mov dword [0x4b05fc], esi
lea ecx, [ecx + edx - 0x121e8677]
mov edx, dword [0x4a7934]
sub edx, ecx
mov dword [0x4a7934], edx
mov ecx, esp
mov dword [ecx + 4], 0x408
mov dword [ecx], 0xb3f8
mov dword [esp + 0x4c], eax
call fcn.00444b60
mov dword [esp + 0xb8], eax
mov eax, dword [0x4ae4c0]
xor eax, 0xffffffff
sub eax, 0xf9d2e20a
or eax, 0x8c70e888
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x422d17
mov eax, dword [0x4a58d4]
xor eax, 0x3a3cf7b5
mov dword [0x4a58d4], eax
lea eax, [esp + 0xcc]
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.0041af10
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
call fcn.0042e190
mov ecx, dword [esp + 0xb8]
mov edx, esp
mov esi, dword [esp + 0x44]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0040d1e0
mov dword [esp + 0xb4], eax
mov eax, dword [0x4ae860]
dec eax
mov dword [0x4ae860], eax
or eax, 0x4b62fc51
mov ecx, dword [0x4a65bc]
xor ecx, eax
mov dword [0x4a65bc], ecx
mov eax, dword [esp + 0xb8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x408
call fcn.0044d6d0
mov eax, dword [0x4ad32c]
add eax, 0x522134d
mov dword [0x4ad32c], eax
cmp dword [esp + 0xb4], 4
jle 0x422dce
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x40], ecx
mov ecx, eax
call fcn.0041af10
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jbe 0x422e76
mov eax, 0xefd90048
mov cx, word [0x4a3870]
movsx edx, cx
imul edx, edx, 0xb2dcc1b8
mov esi, dword [0x4af930]
xor edx, esi
mov esi, dword [0x4b0ef8]
imul esi, edx
mov dword [0x4b0ef8], esi
mov dword [esp + 0xb4], 0
mov edx, dword [0x4ae77c]
sub edx, 0x4bfebb87
cmp eax, edx
je 0x422e71
mov eax, 0x3daa83e8
mov cx, word [0x4a47f2]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a47f2], cx
movsx edx, cx
cmp eax, edx
je 0x422e6c
mov eax, 0x22a329f
mov ecx, dword [0x4b0e94]
add ecx, 0xe08b0d52
or ecx, 0x3bfba78a
cmp eax, ecx
jl 0x422e62
jmp 0x422e67
jmp 0x422e67
jmp 0x422e6c
jmp 0x422e71
jmp 0x422ed6
mov eax, 0x5ceae552
mov ecx, dword [0x4ab25c]
add ecx, 0xac7ff7e7
mov dword [0x4ab25c], ecx
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffffc
mov dword [esp + 0xb4], ecx
mov ecx, dword [0x4a90c4]
dec ecx
mov dword [0x4a90c4], ecx
imul ecx, ecx, 0xf345afd5
cmp eax, ecx
jl 0x422ed1
mov ax, word [0x49e7b0]
mov cx, ax
add ecx, 0xfccb32c0
mov ax, cx
mov word [0x49e7b0], ax
jmp 0x422ed6
mov ax, word [0x4a191e]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a191e], ax
movsx ecx, ax
mov edx, dword [0x4a965c]
imul ecx, edx
imul ecx, ecx, 0x1c406d1e
mov edx, dword [0x4ab654]
sub edx, ecx
mov dword [0x4ab654], edx
mov ecx, dword [esp + 0xb4]
imul edx, dword [esp + 0xc4], 6
add edx, 0xa
cmp ecx, edx
jge 0x422f42
mov eax, dword [0x4b0bf4]
add eax, 0xdc5f3f2b
mov dword [0x4b0bf4], eax
mov dword [esp + 0xc8], 7
jmp 0x422fc2
mov eax, dword [0x4b1e5c]
shl eax, 9
imul eax, eax, 0x3332e45d
cmp eax, 0x3d6c5edf
jge 0x422f78
mov eax, dword [0x4af680]
mov ecx, eax
dec ecx
mov dword [0x4af680], ecx
or eax, 0x76aa
mov dx, ax
mov word [0x4a440a], dx
lea ecx, [esp + 0xcc]
call fcn.0042e190
movsd xmm0, qword [eax]
movsd qword [esp + 0x130], xmm0
mov eax, dword [0x4abbf0]
mov dx, word [0x4a2144]
movsx ecx, dx
xor ecx, 0x88ae8c54
or eax, ecx
mov ecx, dword [0x4ae160]
imul ecx, eax
mov dword [0x4ae160], ecx
mov dword [esp + 0xc8], 5
lea ecx, [esp + 0xcc]
call fcn.00420620
mov ecx, dword [esp + 0xc8]
mov eax, ecx
sub eax, 5
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
je 0x423019
jmp 0x422fed
mov eax, dword [esp + 0x3c]
sub eax, 7
mov dword [esp + 0x34], eax
jne 0x4232dc
jmp 0x423003
mov eax, dword [esp + 0xe0]
add eax, 1
mov dword [esp + 0xe0], eax
jmp 0x4223ca
mov eax, dword [0x4ab728]
add eax, 0x19bc4461
mov dword [0x4ab728], eax
mov eax, esp
lea ecx, [esp + 0xfd]
mov dword [eax], ecx
mov dword [eax + 4], 0x13
call fcn.004034a0
mov eax, dword [0x4a9428]
add eax, 0xe62d7b12
mov dword [0x4a9428], eax
mov eax, dword [esp + 0x128]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x600
call fcn.0044d6d0
mov dx, word [0x4a1198]
mov ax, dx
imul eax, eax, 0x977850f9
mov dx, ax
mov word [0x4a1198], dx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
or eax, ecx
mov dword [esp + 0x30], eax
je 0x423274
jmp 0x42309e
mov ax, word [0x49e3b8]
movsx ecx, ax
shl ecx, 5
mov edx, dword [0x4b25a4]
mov esi, edx
inc esi
mov dword [0x4b25a4], esi
add edx, 0x98b07c14
and ecx, edx
mov edx, dword [0x4a4e58]
or edx, ecx
mov dword [0x4a4e58], edx
mov ecx, dword [0x49d924]
mov edx, esp
mov esi, dword [esp + 0xac]
mov dword [edx], esi
call ecx
sub esp, 4
mov ax, word [0x4a1d4c]
mov cx, ax
dec ecx
mov di, cx
mov word [0x4a1d4c], di
movsx ecx, ax
xor ecx, 0x4148a80
mov edx, dword [0x4a716c]
or ecx, edx
or ecx, 0xa1ab657c
mov dword [0x4a716c], ecx
movsd xmm0, qword [esp + 0x110]
movsd xmm1, qword [esp + 0x118]
mov ecx, dword [esp + 0xac]
movsd qword [ecx + 0x28], xmm1
movsd qword [ecx + 0x20], xmm0
mov edx, dword [0x4ab934]
not edx
and edx, 0x9c44d967
mov esi, dword [0x4b1470]
xor esi, edx
mov dword [0x4b1470], esi
mov ebx, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xac]
add edx, 0x18
mov esi, dword [esp + 0xac]
mov esi, dword [esi + 0x18]
mov edi, dword [esp + 0xac]
mov edi, dword [edi + 0x1c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edi
jmp 0x42319a
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 0x42319a
jmp 0x4231cf
mov ax, word [0x4a113e]
mov cx, ax
add ecx, 0x6b605620
mov ax, cx
mov word [0x4a113e], ax
mov ecx, dword [0x49d928]
mov edx, esp
mov esi, dword [esp + 0xac]
mov dword [edx], esi
call ecx
sub esp, 4
mov ecx, dword [0x4b1824]
imul ecx, ecx, 0xc97af274
add ecx, 0xd75224a7
mov ax, word [0x4a2a00]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4a2a00], ax
mov ecx, dword [esp + 0x154]
movsd xmm0, qword [esp + 0x110]
movsd xmm1, qword [esp + 0x118]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [0x4ac5ec]
or ecx, 0x8fef1ff9
mov dword [0x4ac5ec], ecx
mov dword [esp + 0x14c], 1
mov ecx, dword [0x4a5bc8]
and ecx, 0x47f837da
mov dword [0x4a5bc8], ecx
mov eax, 0xef41b545
mov ecx, dword [0x4afb88]
inc ecx
mov dword [0x4afb88], ecx
xor ecx, 0x74afcaa
or ecx, 0x1cdfb43
cmp eax, ecx
je 0x4232b0
mov eax, dword [0x4af73c]
not eax
mov ecx, dword [0x4af6dc]
imul ecx, eax
mov dword [0x4af6dc], ecx
lea ecx, [esp + 0xe8]
call fcn.0041e1c0
mov eax, dword [0x4a91dc]
add eax, 0xafbcb2f1
mov dword [0x4a91dc], eax
mov eax, dword [esp + 0x14c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
int3