Function at 0x429500
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 si, word [0x49f5c2]
movsx edi, si
xor edi, 0x47d67532
mov dword [0x4b11d4], edi
mov dword [esp + 0x14c], 0
mov edi, dword [0x4a7224]
mov ebx, edi
inc ebx
mov dword [0x4a7224], ebx
mov ebx, dword [0x4afa74]
mov eax, ebx
inc eax
mov dword [0x4afa74], eax
imul eax, ebx, 0xd9573ac7
xor edi, eax
mov dword [0x4acca8], edi
mov eax, esp
mov dword [eax], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], edx
call fcn.00450b60
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], eax
mov eax, dword [0x4a2ce0]
xor eax, 0x7c564839
mov dword [0x4a2ce0], eax
mov byte [esp + 0x13f], 0
mov eax, dword [0x4ae38c]
imul eax, eax, 0xb624a60e
mov dword [0x4ae38c], eax
mov eax, dword [0x499664]
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x4ab5e8]
add eax, 0x9e9eb1a5
and eax, 0x61cd7e7e
mov ecx, dword [0x4a5d64]
xor ecx, eax
mov dword [0x4a5d64], ecx
test byte [esp + 0x15b], 1
je 0x4296b8
mov dword [0x4afa2c], 0x90f74e4f
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 0x429645
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 0x429645
jmp 0x4296a0
mov ax, word [0x4a01f2]
mov cx, ax
add ecx, 0x4a4a758a
mov ax, cx
mov word [0x4a01f2], ax
mov eax, 0x9557ad8
mov ecx, dword [0x4a1644]
xor ecx, 0xffffffff
cmp eax, ecx
je 0x4296dd
mov eax, dword [0x4aa420]
xor eax, 0xa0d6b54d
mov dword [0x4aa420], 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 0x42980e
jmp 0x429732
mov eax, 0xfbea8b27
mov ecx, dword [0x4af408]
mov edx, ecx
dec edx
mov dword [0x4af408], edx
add ecx, 0x8445ff69
or ecx, 0xe737b592
cmp eax, ecx
jg 0x429772
mov ax, word [0x49cb1e]
mov cx, ax
xor ecx, 0x68d9
mov ax, cx
mov word [0x49cb1e], ax
mov eax, 0x971ac05b
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0xac]
movsd xmm0, qword [edx + 0x20]
movsd xmm1, qword [edx + 0x28]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [0x4a5f68]
inc ecx
mov dword [0x4a5f68], ecx
imul ecx, ecx, 0xfbe726d3
mov si, word [0x49c89e]
movsx edi, si
shl edi, 4
xor ecx, edi
cmp eax, ecx
jge 0x4297da
mov ax, word [0x49ce06]
mov cx, ax
or ecx, 0x2018
mov ax, cx
mov word [0x49ce06], ax
mov dword [esp + 0x14c], 1
mov eax, dword [0x4a15e8]
mov cx, word [0x4a12f6]
movsx edx, cx
and eax, edx
and eax, 0xae305190
mov edx, dword [0x4ac6a8]
sub edx, eax
mov dword [0x4ac6a8], edx
jmp 0x429845
mov eax, dword [0x4ab374]
add eax, 0x7a1239b6
mov ecx, dword [0x4a7254]
mov edx, ecx
dec edx
mov dword [0x4a7254], edx
and eax, ecx
mov dword [0x4a9e88], eax
mov byte [esp + 0x13f], 1
mov eax, dword [0x4a6504]
add eax, 0x1a172481
mov dword [0x4a6504], eax
mov eax, dword [0x4a203c]
and eax, 0x9f07ffba
mov dword [0x4a203c], eax
mov eax, dword [0x499668]
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
call eax
sub esp, 4
mov si, word [0x499dc8]
movsx eax, si
imul eax, eax, 0x1743fd77
mov ecx, dword [0x4aa948]
lea eax, [eax + ecx - 0x52ee7a4f]
mov dword [0x4aa948], eax
test byte [esp + 0x13f], 1
je 0x42ab23
mov eax, 0x65649fc
mov ecx, dword [0x4b01b4]
sar ecx, 9
add ecx, 0x283787c8
cmp eax, ecx
jge 0x4298d6
mov eax, dword [0x4a9290]
mov ecx, eax
inc ecx
mov dword [0x4a9290], ecx
mov ecx, dword [0x4afc18]
sub ecx, eax
mov dword [0x4afc18], ecx
jmp 0x4298fc
mov ax, word [0x49fc1a]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49fc1a], dx
movsx ecx, ax
mov esi, dword [0x4a60d8]
imul esi, ecx
mov dword [0x4a60d8], esi
mov eax, 0xf66487c9
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov ecx, dword [0x4ad718]
add ecx, 0x28921097
mov dword [0x4ad718], ecx
mov dword [esp + 0x12c], 0
mov ecx, dword [0x4a5eb4]
xor ecx, 0xd83dda7a
cmp eax, ecx
je 0x429957
mov eax, dword [0x4abc6c]
or eax, 0x40169000
mov dword [0x4abc6c], eax
mov eax, esp
mov dword [eax + 4], 0x600
mov dword [eax], 0x98b9
call fcn.00403e20
mov dword [esp + 0x128], eax
mov word [0x49acb0], 0x5e70
mov eax, dword [esp + 0x128]
mov cl, byte [eax]
mov byte [esp + 0x127], cl
mov eax, dword [0x4aefc0]
add eax, 0x4b87b433
mov dword [0x4aefc0], eax
mov eax, dword [0x4ab1f0]
or eax, 0x2a684c05
mov dword [0x4ab1f0], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov eax, dword [0x4a23ac]
shl eax, 4
mov dx, ax
mov word [0x49e1c2], dx
mov word [esp + 0x110], 2
mov eax, dword [0x4a3d14]
sar eax, 6
xor eax, 0x449b9d37
cmp eax, 0x21000042
jg 0x429a01
mov eax, dword [0x4aac48]
and eax, 0xcbfd8981
mov ecx, dword [0x4a2934]
imul ecx, eax
mov dword [0x4a2934], ecx
mov ax, word [0x49997a]
movsx ecx, ax
mov edx, 0xf8d706d9
sub edx, ecx
and edx, 0xd6f8d7d6
mov ecx, dword [0x4a86bc]
dec ecx
mov dword [0x4a86bc], ecx
xor ecx, 0x5939cd82
mov esi, dword [0x4ae4bc]
xor ecx, esi
cmp edx, ecx
jne 0x429a4e
mov eax, dword [0x4af478]
xor eax, 0xd2b99ff2
mov dword [0x4af478], eax
jmp 0x429a65
mov eax, dword [0x4a4564]
sar eax, 3
mov ecx, dword [0x4a1794]
imul ecx, eax
mov dword [0x4a1794], ecx
mov eax, 0x43808840
mov dword [esp + 0xfd], 0x13
mov ecx, dword [0x4a2488]
and ecx, 0x7108fa50
mov dword [0x4a2488], ecx
mov dword [esp + 0x101], 0
mov dx, word [0x49e240]
mov cx, dx
or ecx, 0x9472
mov dx, cx
mov word [0x49e240], dx
mov dword [esp + 0x105], 7
mov dx, word [0x49a8a2]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49a8a2], si
movsx ecx, dx
or ecx, 0xebe0e3fe
or ecx, 0xf277cbca
cmp eax, ecx
jge 0x429afb
mov ax, word [0x49ef0c]
mov cx, ax
add ecx, 0xd637a2bc
mov ax, cx
mov word [0x49ef0c], ax
mov byte [esp + 0x109], 3
mov eax, dword [0x4a19a8]
dec eax
mov dword [0x4a19a8], eax
imul eax, eax, 0x33039d6
mov ecx, dword [0x4ad07c]
or ecx, eax
mov dword [0x4ad07c], ecx
lea eax, [esp + 0xe8]
mov ecx, eax
mov dword [esp + 0x88], eax
call fcn.00417290
mov ecx, dword [0x4b035c]
and ecx, 0x99416a7
mov dword [0x4b035c], ecx
movzx ecx, byte [esp + 0x127]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x84], eax
call fcn.0041aef0
sub esp, 8
mov eax, dword [0x4aa2b0]
imul eax, eax, 0xeb710c6d
mov dword [0x4aa2b0], eax
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x429c4f
mov eax, dword [0x4abfe0]
mov ecx, eax
inc ecx
mov dword [0x4abfe0], ecx
cmp eax, 0xf10c0ab0
jg 0x429bcc
mov eax, dword [0x4a21b4]
add eax, 0x6b78ad67
mov dword [0x4a21b4], eax
mov eax, 0x8e640698
mov ecx, esp
lea edx, [esp + 0xe4]
mov dword [ecx], edx
lea ecx, [esp + 0xe8]
mov dword [esp + 0x80], eax
call fcn.00411430
sub esp, 4
mov si, word [0x49fde6]
mov ax, si
dec eax
mov di, ax
mov word [0x49fde6], di
movsx eax, si
mov ecx, dword [0x4a9e78]
mov edx, ecx
dec edx
mov dword [0x4a9e78], edx
imul eax, ecx
mov ecx, dword [esp + 0x80]
cmp ecx, eax
jne 0x429c34
mov word [0x499e48], 0x76aa
jmp 0x429c39
mov eax, dword [esp + 0xe4]
add eax, 1
mov dword [esp + 0xe4], eax
jmp 0x429b8d
mov eax, dword [0x4ad878]
mov ecx, eax
inc ecx
mov dword [0x4ad878], ecx
mov ecx, dword [0x4ac42c]
mov edx, ecx
inc edx
mov dword [0x4ac42c], edx
add eax, ecx
mov ecx, dword [0x4a41f4]
and ecx, eax
mov dword [0x4a41f4], ecx
mov eax, esp
lea ecx, [esp + 0xe8]
mov dword [eax], ecx
call fcn.00422380
mov eax, dword [0x4ae47c]
add eax, 0xffffee6f
mov dword [0x4ae47c], eax
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x127]
cmp eax, ecx
je 0x42a72f
mov eax, dword [0x4adc6c]
imul eax, eax, 0xf2e9d4de
mov dword [0x4adc6c], eax
mov eax, dword [esp + 0xe0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xe8]
call fcn.0041f1e0
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 [0x4a60a0]
mov ecx, dword [0x4ae2c0]
mov edx, ecx
inc edx
mov dword [0x4ae2c0], edx
imul ecx, ecx, 0xd35c6c32
add ecx, 0xcb5c46ed
cmp eax, ecx
jl 0x429d35
mov eax, dword [0x4a32fc]
add eax, 0x165054
mov dword [0x4a32fc], eax
mov eax, dword [esp + 0xe0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xe8]
call fcn.0041f1e0
sub esp, 4
mov eax, dword [eax]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x128]
mov dx, word [ecx + eax*2 + 5]
mov word [esp + 0x112], dx
mov eax, dword [0x4a1d84]
shr eax, 2
imul eax, eax, 0x73f87e34
and eax, 0x32dd2c34
mov ecx, dword [0x4ac710]
mov esi, ecx
inc esi
mov dword [0x4ac710], esi
cmp eax, ecx
jl 0x429db0
mov eax, dword [0x4a74dc]
inc eax
mov dword [0x4a74dc], eax
mov ecx, dword [0x4b06fc]
or ecx, eax
mov dword [0x4b06fc], ecx
jmp 0x429de7
mov eax, dword [0x4a8c60]
mov ecx, dword [0x4a4bb4]
mov edx, ecx
inc edx
mov dword [0x4a4bb4], edx
sub ecx, 0x292ad679
cmp eax, ecx
jle 0x429de2
mov eax, dword [0x4a3898]
imul eax, eax, 0x84803d5f
mov dword [0x4a3898], eax
jmp 0x429de7
lea ecx, [esp + 0xcc]
call fcn.00443b00
mov ecx, dword [0x4b0bf4]
add ecx, 0x7de60733
mov dword [0x4b0bf4], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x10a], ecx
mov ecx, dword [0x4a4324]
xor ecx, 0xa2c50cc9
cmp ecx, 0xfdfdfdf6
mov dword [esp + 0x7c], eax
jle 0x429e69
mov eax, dword [0x4a4cec]
mov ecx, dword [0x4ac554]
xor eax, ecx
not eax
mov ecx, dword [0x4aee6c]
cmp eax, ecx
jne 0x429e64
mov ax, word [0x49eae4]
mov cx, ax
imul ecx, ecx, 0x6737a31a
mov ax, cx
mov word [0x49eae4], ax
jmp 0x429e78
mov eax, dword [0x4af3c8]
and eax, 0x66dad1c9
mov dword [0x4af3c8], eax
mov ax, word [esp + 0x112]
mov word [esp + 0x10e], ax
mov ax, word [0x49a148]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49a148], ax
movsx ecx, ax
mov edx, dword [0x4b0558]
imul edx, ecx
mov dword [0x4b0558], edx
mov ecx, esp
lea edx, [esp + 0xfd]
mov dword [ecx], edx
mov dword [ecx + 4], 0x13
lea ecx, [esp + 0xcc]
call fcn.0044b8e0
sub esp, 8
mov si, word [0x4a1414]
movsx ecx, si
sar ecx, 8
mov edx, dword [0x4a7f60]
sub edx, ecx
mov dword [0x4a7f60], edx
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 + 0x78], eax
call fcn.00438f00
sub esp, 0x10
cmp eax, 0
jg 0x429f47
mov eax, dword [0x4af92c]
and eax, 0x8f7ff3eb
mov dword [0x4af92c], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
lea eax, [esp + 0xcc]
mov cx, word [0x49b836]
mov dx, cx
imul edx, edx, 0xff8f4f37
mov cx, dx
mov word [0x49b836], cx
mov ecx, eax
call fcn.00426e30
cmp eax, 0x400
ja 0x429f93
mov word [0x49c9ea], 0x194a
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
lea eax, [esp + 0xcc]
mov ecx, dword [0x4a4f30]
mov edx, ecx
inc edx
mov dword [0x4a4f30], edx
mov edx, dword [0x4a935c]
add edx, ecx
mov dword [0x4a935c], edx
mov ecx, eax
call fcn.00426e30
cmp eax, 0x4000
jbe 0x429fe8
mov eax, dword [0x4a888c]
or eax, 0x1ec6e784
mov dword [0x4a888c], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
mov eax, 0x16ef7158
mov ecx, dword [0x4a91bc]
add ecx, 0xbb8cd522
mov edx, dword [0x4ac78c]
inc edx
mov dword [0x4ac78c], edx
or ecx, edx
cmp eax, ecx
jle 0x42a028
mov ax, word [0x49b10c]
mov cx, ax
add ecx, 0xa1cccbf7
mov ax, cx
mov word [0x49b10c], ax
lea ecx, [esp + 0xcc]
call fcn.0040b440
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 0x42a0fd
jmp 0x42a05e
mov eax, 0x10000224
mov ecx, dword [0x4a9d9c]
or ecx, 0x44f7c315
cmp eax, ecx
je 0x42a086
mov eax, dword [0x4ad6c8]
and eax, 0xc4ff87ff
mov dword [0x4ad6c8], eax
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x12c], eax
mov eax, dword [0x4a8080]
dec eax
mov dword [0x4a8080], eax
mov cx, word [0x49975c]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49975c], cx
cmp dword [esp + 0x12c], 3
jne 0x42a0e3
mov eax, dword [0x4af914]
and eax, 0x335a997c
mov dword [0x4af914], eax
mov dword [esp + 0xc8], 5
jmp 0x42a6d8
mov eax, dword [0x4a1934]
mov dword [0x4b00a8], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
lea eax, [esp + 0xcc]
mov ecx, dword [0x4b088c]
mov edx, dword [0x4a6ec4]
imul ecx, edx
shl ecx, 2
mov si, word [0x49ba1a]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x49ba1a], si
mov dword [esp + 0x12c], 0
mov si, word [0x49ab72]
movsx ecx, si
or ecx, 0x777bf5d7
mov dword [0x4a6b3c], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x6c], eax
call fcn.0040b440
movzx eax, word [eax + 8]
mov dword [esp + 0xc4], eax
mov eax, dword [0x4accac]
dec eax
mov dword [0x4accac], eax
mov ecx, dword [0x4a852c]
imul eax, ecx
imul eax, eax, 0x83bfc907
mov dword [0x4a852c], eax
imul eax, dword [esp + 0xc4], 6
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
call fcn.00426e30
sub eax, 0x400
sub eax, 0xa
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jbe 0x42a1cf
mov eax, dword [0x4a4648]
xor eax, 0x185f3236
mov dword [0x4a4648], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
mov ax, word [0x49cee2]
movsx ecx, ax
or ecx, 0xb829c1bb
mov edx, dword [0x4ad010]
imul edx, ecx
mov dword [0x4ad010], edx
mov byte [esp + 0xc3], 0
mov ecx, dword [0x4a9ad8]
mov edx, ecx
inc edx
mov dword [0x4a9ad8], edx
mov ax, word [0x49edc6]
mov dx, ax
lea ecx, [edx + ecx + 1]
mov ax, cx
mov word [0x49edc6], ax
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, dword [esp + 0xc4]
je 0x42a3a2
mov eax, 0xa3ecb6e9
mov ecx, dword [0x4a9448]
xor ecx, 0xffffffff
cmp eax, ecx
jl 0x42a29e
mov eax, 0xa2994f56
mov cx, word [0x49a098]
movsx edx, cx
cmp eax, edx
jge 0x42a299
mov ax, word [0x49b2d2]
movsx ecx, ax
mov edx, dword [0x4a5cf4]
inc edx
mov dword [0x4a5cf4], edx
sub ecx, edx
cmp ecx, 0x9a0228d0
je 0x42a28f
jmp 0x42a294
jmp 0x42a294
jmp 0x42a299
jmp 0x42a29e
lea eax, [esp + 0xcc]
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.0040b440
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
cmp ecx, dword [eax + edx]
jne 0x42a37c
lea eax, [esp + 0xcc]
mov ecx, dword [0x4a87c8]
imul ecx, ecx, 0x916f957f
mov dword [0x4a87c8], ecx
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.0040b440
mov ecx, dword [esp + 0x58]
movzx eax, word [eax + ecx + 4]
mov edx, dword [esp + 0x5c]
cmp edx, eax
jne 0x42a372
mov eax, 0x628fabf6
mov ecx, dword [0x4adb98]
imul ecx, ecx, 0x99bf513c
mov dword [0x4adb98], ecx
mov byte [esp + 0xc3], 1
mov dx, word [0x49d292]
movsx ecx, dx
cmp eax, ecx
jg 0x42a36d
mov ax, word [0x49a786]
movsx ecx, ax
imul ecx, ecx, 0x9f665b17
mov dword [0x4ace2c], ecx
jmp 0x42a3a2
mov dword [0x4ab21c], 0xdbc13102
mov eax, dword [0x4b0e24]
imul eax, eax, 0x3ab2bb95
mov dword [0x4b0e24], eax
mov eax, dword [esp + 0xbc]
add eax, 1
mov dword [esp + 0xbc], eax
jmp 0x42a225
mov eax, 0xb135901b
mov cx, word [0x4a151c]
movsx edx, cx
sar edx, 8
cmp eax, edx
jge 0x42a3e4
mov eax, dword [0x4a941c]
dec eax
mov dword [0x4a941c], eax
mov ecx, dword [0x4a6458]
dec ecx
mov dword [0x4a6458], ecx
sub eax, ecx
mov ecx, dword [0x4abeb8]
xor ecx, eax
mov dword [0x4abeb8], ecx
test byte [esp + 0xc3], 1
jne 0x42a411
mov eax, dword [0x4a3a14]
and eax, 0x2952efa5
mov dword [0x4a3a14], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
mov eax, 0x2d575616
mov ecx, dword [0x4a491c]
add ecx, 0x4109bb60
mov dword [0x4a491c], ecx
mov ecx, esp
mov dword [ecx + 4], 0x408
mov dword [ecx], 0x6c23
mov dword [esp + 0x54], eax
call fcn.00403e20
mov dword [esp + 0xb8], eax
mov eax, dword [0x4a3560]
not eax
add eax, 0x182676c4
mov ecx, dword [0x4a72cc]
imul ecx, eax
mov dword [0x4a72cc], ecx
lea eax, [esp + 0xcc]
mov ecx, eax
mov dword [esp + 0x50], eax
call fcn.00426e30
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
call fcn.0040b440
mov ecx, dword [esp + 0xb8]
mov edx, esp
mov esi, dword [esp + 0x4c]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00414640
mov dword [esp + 0xb4], eax
mov di, word [0x49ddd4]
mov ax, di
and eax, 0x4d75
mov di, ax
mov word [0x49ddd4], di
mov eax, dword [esp + 0xb8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x408
call fcn.0040f650
mov eax, dword [0x4b0c24]
inc eax
mov dword [0x4b0c24], eax
mov ecx, dword [0x4ab524]
mov edx, dword [0x4b0b98]
imul ecx, edx
xor eax, ecx
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jne 0x42a50e
mov eax, dword [0x4a53c8]
add eax, 0x3feb85da
xor eax, 0xac19b3a3
mov dword [0x4ad7e0], eax
cmp dword [esp + 0xb4], 4
jle 0x42a541
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x48], ecx
mov ecx, eax
call fcn.00426e30
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jbe 0x42a585
mov ax, word [0x49d318]
movsx ecx, ax
not ecx
mov dword [0x4a52cc], ecx
mov dword [esp + 0xb4], 0
mov ecx, dword [0x4aa600]
mov edx, ecx
inc edx
mov dword [0x4aa600], edx
add ecx, 0xf89599b5
mov edx, dword [0x4b0b20]
and edx, ecx
mov dword [0x4b0b20], edx
jmp 0x42a5e8
mov eax, 0x89523ef5
mov ecx, dword [0x4a76e4]
shr ecx, 3
add ecx, 0x55acc624
mov dx, word [0x4a1240]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x4a1240], dx
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffffc
mov dword [esp + 0xb4], ecx
mov ecx, dword [0x4ace78]
or ecx, 0x1ae2ec61
cmp eax, ecx
je 0x42a5e3
mov eax, dword [0x4a85f0]
and eax, 0x7b3e064d
mov dword [0x4a85f0], eax
jmp 0x42a5e8
mov eax, dword [0x4a4e24]
mov ecx, dword [0x4afd80]
mov edx, ecx
inc edx
mov dword [0x4afd80], edx
add eax, ecx
or eax, 0x794e2cf1
mov ecx, dword [0x4a5838]
add ecx, eax
mov dword [0x4a5838], ecx
mov eax, dword [esp + 0xb4]
imul ecx, dword [esp + 0xc4], 6
add ecx, 0xa
cmp eax, ecx
jge 0x42a670
mov eax, 0xdf7ac3ff
mov cx, word [0x49e0fa]
movsx edx, cx
xor edx, 0xffffffff
and edx, 0x27da4227
xor edx, 0xb7721be7
cmp eax, edx
je 0x42a660
mov eax, dword [0x4abf04]
xor eax, 0xd32ed6d2
mov dword [0x4abf04], eax
mov dword [esp + 0xc8], 7
jmp 0x42a6d8
mov eax, dword [0x4a85f4]
and eax, 0xa063fcd6
mov ecx, dword [0x4ab470]
and eax, ecx
cmp eax, 0xd7b2a802
jg 0x42a6a5
mov eax, dword [0x4ab03c]
xor eax, 0x338e5ad5
mov ecx, dword [0x4aa5f8]
sub ecx, eax
mov dword [0x4aa5f8], ecx
lea ecx, [esp + 0xcc]
call fcn.0040b440
movsd xmm0, qword [eax]
movsd qword [esp + 0x130], xmm0
mov eax, dword [0x4a8304]
and eax, 0x14924606
mov dword [0x4a8304], eax
mov dword [esp + 0xc8], 5
lea ecx, [esp + 0xcc]
call fcn.00422440
mov ecx, dword [esp + 0xc8]
mov eax, ecx
sub eax, 5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
je 0x42a72f
jmp 0x42a703
mov eax, dword [esp + 0x44]
sub eax, 7
mov dword [esp + 0x3c], eax
jne 0x42ab65
jmp 0x42a719
mov eax, dword [esp + 0xe0]
add eax, 1
mov dword [esp + 0xe0], eax
jmp 0x429ca6
mov eax, 0x79ace278
mov cx, word [0x49c8e4]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49c8e4], cx
movsx edx, cx
add edx, 0xe9523827
mov cx, word [0x49fb48]
movsx esi, cx
or edx, esi
cmp eax, edx
jge 0x42a79b
mov eax, dword [0x4aec98]
mov ecx, dword [0x4af634]
dec ecx
mov dword [0x4af634], ecx
and ecx, 0xc128
or eax, ecx
mov dx, word [0x4a0c86]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4a0c86], dx
jmp 0x42a7e2
mov ax, word [0x49e0cc]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49e0cc], dx
movsx ecx, ax
cmp ecx, 0xffffeb32
jge 0x42a7dd
mov eax, dword [0x4aeebc]
sub eax, 0xb92a7ed5
cmp eax, 0x6fdbab5b
jge 0x42a7d8
jmp 0x42a7d8
jmp 0x42a7dd
jmp 0x42a7e2
mov eax, 0x81554d4b
mov ecx, esp
lea edx, [esp + 0xfd]
mov dword [ecx], edx
mov dword [ecx + 4], 0x13
mov dword [esp + 0x38], eax
call fcn.00448fa0
mov eax, dword [0x4aa1e8]
or eax, 0x108f2d72
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jl 0x42a83e
mov eax, dword [0x4a37cc]
mov ecx, eax
dec ecx
mov dword [0x4a37cc], ecx
and eax, 0x10015000
or eax, 0xef7ea5e9
mov ecx, dword [0x4af484]
xor ecx, eax
mov dword [0x4af484], ecx
mov eax, dword [esp + 0x128]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x600
call fcn.0040f650
mov eax, dword [0x4a320c]
and eax, 0x2268513
mov dword [0x4a320c], eax
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
or eax, ecx
mov dword [esp + 0x34], eax
je 0x42aaff
jmp 0x42a883
mov eax, 0xe70ad7e3
mov ecx, dword [0x4aed00]
mov edx, ecx
inc edx
mov dword [0x4aed00], edx
cmp eax, ecx
jne 0x42a90e
mov eax, dword [0x4a8f24]
inc eax
mov dword [0x4a8f24], eax
imul eax, eax, 0x7903e6b6
and eax, 0x319fb78a
mov ecx, dword [0x4a9880]
shl ecx, 8
add ecx, 0xb2ed7259
cmp eax, ecx
je 0x42a909
mov eax, dword [0x4a8808]
mov ecx, eax
inc ecx
mov dword [0x4a8808], ecx
add eax, 0xc5d0ee13
mov ecx, dword [0x4a415c]
mov edx, dword [0x4a9a80]
mov esi, edx
dec esi
mov dword [0x4a9a80], esi
imul ecx, edx
cmp eax, ecx
jle 0x42a904
jmp 0x42a904
jmp 0x42a909
jmp 0x42a90e
mov eax, dword [0x499664]
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x4ae6a8]
xor eax, 0xa58da21
or eax, 0xf4a605d4
mov ecx, dword [0x4a2da0]
xor ecx, eax
mov dword [0x4a2da0], ecx
movsd xmm0, qword [esp + 0x110]
movsd xmm1, qword [esp + 0x118]
mov eax, dword [esp + 0xac]
movsd qword [eax + 0x28], xmm1
movsd qword [eax + 0x20], xmm0
mov ecx, dword [0x4a6024]
and ecx, 0xb1629081
mov dword [0x4a6024], ecx
mov ebx, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
add eax, 0x18
mov edx, dword [esp + 0xac]
mov esi, dword [edx + 0x18]
mov edi, dword [edx + 0x1c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edi
jmp 0x42a9ac
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 0x42a9ac
jmp 0x42a9e1
mov eax, dword [0x4a5f88]
inc eax
mov dword [0x4a5f88], eax
mov ecx, dword [0x4ab96c]
and eax, ecx
and eax, 0x739c4845
mov dword [0x4ab96c], eax
mov eax, dword [0x499668]
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x4a7ca8]
xor eax, 0xfffab3ff
mov dword [0x4a7ca8], eax
mov eax, dword [esp + 0x154]
movsd xmm0, qword [esp + 0x110]
movsd xmm1, qword [esp + 0x118]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [0x4aff4c]
xor eax, 0x4024
mov si, word [0x4998a6]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4998a6], si
mov dword [esp + 0x14c], 1
mov si, word [0x49ce6a]
mov ax, si
inc eax
mov di, ax
mov word [0x49ce6a], di
movsx eax, si
add eax, 0x560a52e5
mov ecx, dword [0x4ae400]
dec ecx
mov dword [0x4ae400], ecx
mov si, word [0x49bb16]
mov dx, si
dec edx
mov di, dx
mov word [0x49bb16], di
movsx edx, si
imul ecx, edx
mov edx, dword [0x4a8e1c]
mov ebx, edx
inc ebx
mov dword [0x4a8e1c], ebx
sub ecx, edx
cmp eax, ecx
jle 0x42aafa
mov eax, 0xcaaf31e0
mov ecx, dword [0x4a5270]
add ecx, 0xa4f71350
cmp eax, ecx
jg 0x42aaf5
mov eax, dword [0x4a5860]
or eax, 0xde6f9261
mov dword [0x4a5860], eax
jmp 0x42aafa
jmp 0x42aaff
mov ax, word [0x49eec8]
mov cx, ax
and ecx, 0x785f
mov ax, cx
mov word [0x49eec8], ax
lea ecx, [esp + 0xe8]
call fcn.0044f970
mov eax, 0x44140410
mov ecx, dword [0x4a28b0]
xor ecx, 0xffffffff
or ecx, 0x6b944063
or ecx, 0x697ab958
cmp eax, ecx
jl 0x42ab54
mov eax, dword [0x4ad0c8]
or eax, 0x747be7df
mov dword [0x4ad0c8], eax
mov eax, dword [esp + 0x14c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
int3