Function at 0x4093cd
Capabilities:
Check os version
Encode data using xor
Execute anti-debugging instructions
Packed with generic packer
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc78
mov eax, dword [0x43f464]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor eax, eax
inc eax
xor ebx, ebx
mov dword [ebp - 0xb08], ebx
mov dword [edi], eax
lea eax, [ebp - 0xbc8]
push eax
push ebx
push ebx
mov byte [edi + 4], bl
push 0x402c08
mov dword [ebp - 0xbc8], ebx
call dword [0x441234]
mov ecx, dword [ebp - 0xbc8]
test ecx, ecx
je 0x40946e
lea edx, [ebp - 0xbb8]
mov dword [ebp - 0xbb8], ebx
call fcn.004125b4
mov esi, dword [ebp - 0xbb8]
test esi, esi
je 0x409460
mov edx, esi
lea ecx, [edi + 0xc]
lea ebx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, word [ebp - 0xb08]
jne 0x40943e
sub edx, ebx
sar edx, 1
push edx
push esi
call fcn.00412b52
mov esi, dword [ebp - 0xbb8]
xor ebx, ebx
push esi
call dword [0x4415f0]
mov ecx, edi
call fcn.00412529
mov dword [ebp - 0xbd0], ebx
mov edx, 0x4401bc
mov dword [ebp - 0xb80], ebx
mov dword [ebp - 0xac0], ebx
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x409485
mov eax, dword [0x4401b8]
mov ebx, 0x40307a
mov dword [ebp - 0xb18], ebx
mov edi, 0xab69605e
mov dword [ebp - 0xb4c], 0x67
mov dword [ebp - 0xb38], 0x337
mov dword [ebp - 0xb6c], 0x10b
mov dword [ebp - 0xb50], 0x20b
test eax, eax
jne 0x409ae8
push 0x338
mov esi, eax
mov dword [ebp - 0xb04], eax
push eax
mov dword [ebp - 0xadc], eax
mov dword [ebp - 0xad4], esi
mov dword [ebp - 0xb34], eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov dword [ebp - 0xb68], eax
test eax, eax
je 0x409adc
or dword [ebp - 0xaec], 0xffffffff
xor edx, edx
mov esi, 0x7f1137f
mov dword [ebp - 0x510], edi
add eax, 7
mov dword [ebp - 0x50c], esi
mov edi, ebx
mov dword [ebp - 0xac4], edx
mov cl, dl
mov dword [ebp - 0xb00], eax
mov esi, edx
mov dword [ebp - 0xac8], edi
mov dword [ebp - 0xb1c], 0x67
movzx ebx, byte [edi - 2]
movzx eax, byte [edi - 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi + 1]
movzx edi, byte [edi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
mov eax, dword [ebp - 0xac8]
xor edx, ebx
mov dword [ebp - 0xaac], edx
movzx eax, byte [eax + 3]
or edi, eax
mov eax, dword [ebp - 0xac8]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0xac8]
shl edi, 8
add dword [ebp - 0xac8], 8
movzx eax, byte [eax + 5]
or edi, eax
xor esi, edi
mov dword [ebp - 0xab0], esi
mov esi, edx
xor esi, dword [ebp - 0xab0]
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
add eax, 0x7f1137f
ror eax, 9
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xaac]
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
mov eax, dword [ebp - 0xaac]
sub edx, 0x756c8a2
xor eax, edx
mov dword [ebp - 0xaac], eax
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xaac]
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
mov edx, dword [ebp - 0xaac]
xor edx, eax
mov dword [ebp - 0xaac], edx
mov eax, dword [ebp - 0xaac]
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
add eax, 0x54969fa2
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xaac]
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xaac]
shr eax, 0xa
xor edx, eax
xor edx, esi
mov esi, dword [ebp - 0xaac]
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor esi, eax
lea eax, [esi - 0x7f1]
xor eax, edx
xor eax, 0xab69605e
mov dword [ebp - 0xab0], eax
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xab0]
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
mov edx, eax
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
xor dword [ebp - 0xab0], edx
mov edx, dword [ebp - 0xab0]
xor esi, edx
xor esi, 0xac987321
mov eax, esi
ror eax, 3
imul eax, eax, 0x137f
sub eax, 0xd0dd417
xor edx, eax
mov dword [ebp - 0xab0], edx
lea eax, [edx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xab0]
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
add eax, 0xab69605e
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xab0]
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov edx, 0x7f1137f
mov dword [ebp - 0xab0], eax
xor eax, edx
rol eax, 4
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xab0]
rol eax, 2
xor edx, eax
mov eax, dword [ebp - 0xab0]
xor edx, dword [ebp - 0xac4]
xor eax, dword [ebp - 0xaec]
xor esi, edx
mov edx, esi
mov dword [ebp - 0xaac], esi
mov esi, dword [ebp - 0xb00]
mov dword [ebp - 0xaec], edi
mov edi, dword [ebp - 0xac8]
mov dword [ebp - 0xac4], ebx
mov byte [esi - 4], dl
mov byte [esi], al
ror edx, 8
mov byte [esi - 5], dl
ror eax, 8
mov byte [esi - 1], al
ror edx, 8
mov byte [esi - 6], dl
ror eax, 8
mov byte [esi - 2], al
ror edx, 8
ror eax, 8
mov byte [esi - 7], dl
mov byte [esi - 3], al
add esi, 8
ror eax, 8
ror edx, 8
sub dword [ebp - 0xb1c], 1
mov dword [ebp - 0xb00], esi
mov esi, eax
mov dword [ebp - 0xab0], eax
jne 0x409551
mov esi, dword [ebp - 0xb68]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0x4098d4
movzx eax, cl
cdq
cmp eax, dword [0x4033b0]
jne 0x409906
cmp edx, dword [0x4033b4]
jne 0x409906
mov edi, esi
xor eax, eax
mov dword [ebp - 0xad4], edi
mov esi, eax
mov ebx, 0x337
jmp 0x40991b
mov edi, dword [ebp - 0xad4]
or ebx, 0xffffffff
mov dword [ebp - 0xb34], 0xc004d501
xor eax, eax
test esi, esi
je 0x40992e
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
cmp dword [ebp - 0xb34], 0
jl 0x409ad6
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0x43faf0
push eax
push ebx
call fcn.0043a6ff
add esp, 0xc
cmp byte [edi], 0
je 0x409a6c
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xb08]
jne 0x409965
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [0x441144]
test eax, eax
je 0x409acf
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0xadc], ecx
cmp word [eax], dx
je 0x4099af
mov ecx, 0xc000007b
mov dword [ebp - 0xadc], ecx
jmp 0x4099f7
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0x4099a2
add edx, dword [edi]
cmp edx, dword [edi]
jb 0x4099a2
cmp dword [edx], 0x4550
jne 0x4099a2
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0xb6c]
je 0x4099e5
cmp ax, word [ebp - 0xb50]
je 0x4099e5
mov ecx, 0xc000000d
jmp 0x4099a7
mov eax, dword [edx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi + 2]
add esi, 6
mov dword [ebp - 0xad8], eax
test eax, eax
je 0x409a60
mov edx, esi
mov dword [ebp - 0xad0], esi
lea eax, [edx + 1]
mov dword [ebp - 0xb68], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x409a18
sub edx, dword [ebp - 0xb68]
inc esi
add esi, edx
test ecx, ecx
js 0x409a51
push dword [ebp - 0xad0]
push dword [edi]
call dword [0x441124]
test eax, eax
je 0x409a6c
mov ecx, dword [ebp - 0xb04]
mov dword [ecx*4 + 0x43f090], eax
mov ecx, dword [ebp - 0xadc]
inc dword [ebp - 0xb04]
inc ebx
cmp ebx, dword [ebp - 0xad8]
jb 0x409a07
add edi, 0x10
cmp byte [esi], 0
jne 0x40995e
mov ebx, dword [ebp - 0xadc]
mov esi, dword [ebp - 0xad4]
test esi, esi
je 0x409a8d
push esi
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
jns 0x409ae3
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0x43faf0]
test eax, eax
je 0x409aa6
push eax
call dword [0x441108]
add esi, 0x10
cmp esi, 0x40
jb 0x409a95
push 0x40
push ebx
push 0x43faf0
call fcn.0043a6ff
add esp, 0xc
mov esi, 0x401480
mov edi, 0x43f090
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x409af0
mov ebx, 0xc000007a
jmp 0x409a72
mov esi, dword [ebp - 0xad4]
mov ebx, 0xc000007a
jmp 0x409a78
mov eax, dword [0x4401b8]
inc eax
xor ebx, ebx
mov dword [0x4401b8], eax
xor eax, eax
mov ecx, 0x4401bc
xchg dword [ecx], eax
mov eax, dword fs:[0x30]
mov edi, ebx
mov dword [ebp - 0xbb0], ebx
mov dword [ebp - 0xbb4], ebx
mov dword [ebp - 0xac8], ebx
cmp dword [eax + 0x1d4], ebx
je 0x409dbc
mov esi, dword [0x43f118]
mov ecx, esi
call dword [0x4415fc]
call esi
mov ebx, eax
test ebx, ebx
jne 0x409b5c
call dword [0x441120]
mov edi, eax
test edi, edi
jle 0x409b4c
movzx edi, di
or edi, 0x80070000
test edi, edi
js 0x409dc8
mov edi, 0x80004005
jmp 0x409dc8
xor ecx, ecx
mov dword [ebp - 0xb70], ecx
mov edi, ecx
mov eax, ecx
mov esi, ecx
lea ecx, [ebp - 0xbcc]
push ecx
push eax
push esi
mov esi, dword [0x43f128]
mov ecx, esi
push 2
push ebx
call dword [0x4415fc]
call esi
test eax, eax
jne 0x409bfd
call dword [0x441120]
cmp eax, 0x7a
jne 0x409be8
cmp dword [ebp - 0xb70], edi
jne 0x409be1
push dword [ebp - 0xbcc]
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
lea ecx, [ebp - 0xb70]
mov esi, eax
call fcn.0042902c
test esi, esi
je 0x409bd2
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xb70], esi
jmp 0x409b6a
xor eax, eax
mov edi, 0x8007000e
mov dword [ebp - 0xb70], eax
jmp 0x409c11
mov edi, 0x80004005
jmp 0x409c11
test eax, eax
je 0x409be1
jg 0x409bf2
mov edi, eax
jmp 0x409c11
movzx edi, ax
or edi, 0x80070000
jmp 0x409c11
mov eax, dword [ebp - 0xb70]
xor ecx, ecx
mov dword [ebp - 0xb70], ecx
mov dword [ebp - 0xbb0], eax
lea ecx, [ebp - 0xb70]
call fcn.0042902c
test edi, edi
js 0x409dc8
call dword [0x4410d0]
mov esi, dword [0x43f124]
mov ecx, esi
push eax
call dword [0x4415fc]
call esi
mov ebx, eax
test ebx, ebx
je 0x409b35
xor ecx, ecx
mov dword [ebp - 0xb74], ecx
mov edi, ecx
mov eax, ecx
mov esi, ecx
lea ecx, [ebp - 0xbd4]
push ecx
push eax
push esi
mov esi, dword [0x43f128]
mov ecx, esi
push 2
push ebx
call dword [0x4415fc]
call esi
test eax, eax
jne 0x409ce0
call dword [0x441120]
cmp eax, 0x7a
jne 0x409cc9
cmp dword [ebp - 0xb74], edi
jne 0x409cc2
push dword [ebp - 0xbd4]
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
lea ecx, [ebp - 0xb74]
mov esi, eax
call fcn.0042902c
test esi, esi
je 0x409cbb
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xb74], esi
jmp 0x409c53
mov edi, 0x8007000e
jmp 0x409cec
mov edi, 0x80004005
jmp 0x409cdc
test eax, eax
je 0x409cc2
jg 0x409cd3
mov edi, eax
jmp 0x409cdc
movzx edi, ax
or edi, 0x80070000
xor ebx, ebx
jmp 0x409cf4
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0xbb4], eax
xor ebx, ebx
mov dword [ebp - 0xb74], ebx
lea ecx, [ebp - 0xb74]
call fcn.0042902c
test edi, edi
js 0x409dc8
mov eax, dword [ebp - 0xbb0]
test eax, eax
je 0x409dbc
mov ecx, 0x402c5c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409d43
test dx, dx
je 0x409d3c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409d43
add eax, 4
add ecx, 4
test dx, dx
jne 0x409d1a
xor esi, esi
mov eax, ebx
inc esi
jmp 0x409d4a
sbb eax, eax
xor esi, esi
inc esi
or eax, esi
test eax, eax
jne 0x409dbc
mov eax, dword [ebp - 0xbb4]
test eax, eax
je 0x409dbc
mov ecx, 0x402c6c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x409d83
test dx, dx
je 0x409d7f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x409d83
add eax, 4
add ecx, 4
test dx, dx
jne 0x409d5d
mov eax, ebx
jmp 0x409d87
sbb eax, eax
or eax, esi
test eax, eax
jne 0x409dbc
push 4
lea eax, [ebp - 0xbd8]
mov dword [ebp - 0xbd8], ebx
push eax
push 0xb
call dword [0x441164]
push eax
call dword [0x441148]
test eax, eax
je 0x409b35
test byte [ebp - 0xbd8], 0xf
mov eax, esi
je 0x409dc2
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0xac0], eax
lea ecx, [ebp - 0xbb4]
call fcn.0042902c
lea ecx, [ebp - 0xbb0]
call fcn.0042902c
test edi, edi
jns 0x409dea
xor eax, eax
mov dword [ebp - 0xac0], eax
push 4
push 0x40
call dword [0x44114c]
mov ebx, eax
lea ecx, [ebp - 0xb80]
mov dword [ebp - 0xacc], ebx
call fcn.00429015
test ebx, ebx
je 0x41227f
mov dword [ebp - 0xb80], ebx
lea edi, [ebp - 0xb8c]
xor ebx, ebx
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0xab8], ebx
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xb0c], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0xac4], ebx
mov dword [ebp - 0xb20], ebx
stosd dword es:[edi], eax
push 0xa0
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov dword [ebp - 0xad8], eax
mov dword [ebp - 0xb68], 0x38
test eax, eax
jne 0x409edb
mov ebx, 0xc0000017
mov esi, dword [ebp - 0xab8]
xor edi, edi
mov dword [ebp - 0xb10], edi
mov dword [ebp - 0xb14], edi
cmp dword [ebp - 0xb0c], edi
je 0x409ea3
push dword [ebp - 0xb0c]
push edi
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov dword [ebp - 0xb0c], edi
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb88], edi
mov dword [ebp - 0xb8c], edi
test eax, eax
je 0x40bf81
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [ebp - 0xb84], eax
jmp 0x40bf83
push 0x28
pop ecx
mov esi, 0x43f5c8
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov dword [ebp - 0xab8], esi
push 8
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ecx, eax
mov dword [ebp - 0xae0], ecx
test ecx, ecx
jne 0x409f16
mov ebx, 0xc0000017
jmp 0x409e73
mov eax, dword [0x43f5c0]
mov dword [ecx], eax
mov eax, dword [0x43f5c4]
mov dword [ecx + 4], eax
mov dword [ebp - 0xad0], ecx
rdtsc
mov dword [ebp - 0xb5c], eax
mov dword [ebp - 0xb04], edx
push 0xc
pop edi
lea eax, [ebp - 0xbac]
mov edx, 0x7fffffff
push eax
mov ecx, 0x4027a0
call fcn.00429063
test eax, eax
jns 0x409f66
mov dword [ebp - 0xbac], ebx
mov ebx, 0xc000003e
jmp 0x409e73
mov eax, dword [ebp - 0xbac]
mov esi, 0xc0000095
inc eax
mov dword [ebp - 0xbac], eax
lea eax, [eax*2 + 4]
cmp eax, 4
jb 0x409f88
mov edi, eax
jmp 0x409f8a
mov ebx, esi
test ebx, ebx
js 0x409e6d
lea ecx, [edi + 0xc4]
mov edx, 0xc4
cmp ecx, edx
jb 0x409fa5
mov eax, ecx
jmp 0x409fa8
or eax, 0xffffffff
cmp ecx, edx
mov edi, 0x10000000
sbb ebx, ebx
and ebx, esi
add ebx, edi
cmp ecx, edx
jb 0x40bf5e
lea edx, [eax + 8]
cmp edx, eax
jb 0x409fc8
mov ecx, edx
jmp 0x409fcb
or ecx, 0xffffffff
cmp edx, eax
sbb ebx, ebx
and ebx, esi
add ebx, edi
cmp edx, eax
jb 0x40bf5e
lea eax, [ecx + 8]
cmp eax, ecx
jb 0x409fe6
mov edx, eax
jmp 0x409fe9
or edx, 0xffffffff
cmp eax, ecx
sbb ebx, ebx
and ebx, esi
add ebx, edi
cmp eax, ecx
jb 0x40bf5e
push edx
push 8
mov dword [ebp - 0xb10], edx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov edx, eax
test edx, edx
je 0x409e68
mov dword [ebp - 0xb0c], edx
xor ebx, ebx
mov dword [ebp - 0xb14], ebx
mov dword [ebp - 0xc68], ebx
lea edi, [edx + 4]
cmp edi, edx
jb 0x40a08c
mov ecx, dword [ebp - 0xb10]
lea eax, [edx + 8]
add ecx, edx
cmp eax, ecx
jbe 0x40a04d
mov ebx, 0xc0000023
jmp 0x409e6d
mov dword [edx], 4
mov dword [edi], ebx
mov ecx, dword [ebp - 0xb14]
inc ecx
mov dword [ebp - 0xb14], ecx
cmp dword [ebp - 0xb0c], ebx
jne 0x40a093
mov eax, dword [ebp - 0xb10]
lea edx, [eax + 0xa4]
cmp edx, eax
jb 0x40a08c
inc ecx
mov dword [ebp - 0xb10], edx
mov dword [ebp - 0xb14], ecx
jmp 0x40a10e
mov ebx, esi
jmp 0x409e6d
mov edx, dword [ebp - 0xb0c]
mov edi, ebx
test ecx, ecx
je 0x40a0ba
mov eax, dword [edx]
add eax, 4
cmp eax, 4
jb 0x40a142
add eax, edx
cmp eax, edx
jb 0x40a08c
inc edi
mov edx, eax
cmp edi, ecx
jb 0x40a09f
lea edi, [edx + 4]
cmp edi, edx
jb 0x40a08c
mov ecx, dword [ebp - 0xb10]
lea eax, [edx + 0xa4]
add ecx, dword [ebp - 0xb0c]
cmp eax, ecx
ja 0x40a043
mov esi, dword [ebp - 0xad8]
push 0x28
mov dword [edx], 0xa0
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xb14]
mov esi, 0xc0000095
inc ecx
mov dword [ebp - 0xb14], ecx
test ebx, ebx
js 0x409e6d
mov edx, dword [ebp - 0xb10]
xor ebx, ebx
cmp dword [ebp - 0xb0c], 0
jne 0x40a146
lea eax, [edx + 0xc]
cmp eax, edx
jb 0x40a08c
mov edx, eax
inc ecx
mov eax, dword [ebp - 0xb5c]
mov dword [ebp - 0xc00], eax
mov eax, dword [ebp - 0xb04]
mov dword [ebp - 0xbfc], eax
jmp 0x40a1e4
mov ebx, esi
jmp 0x40a0fe
mov edi, dword [ebp - 0xb0c]
test ecx, ecx
je 0x40a16f
mov eax, dword [edi]
add eax, 4
cmp eax, 4
jb 0x40a1fe
add eax, edi
cmp eax, edi
jb 0x40a08c
inc ebx
mov edi, eax
cmp ebx, ecx
jb 0x40a150
lea eax, [edi + 4]
cmp eax, edi
jb 0x40a08c
mov ecx, dword [ebp - 0xb0c]
xor eax, eax
mov ebx, eax
add ecx, edx
lea eax, [edi + 0xc]
cmp eax, ecx
ja 0x40a043
mov ecx, dword [ebp - 0xae0]
mov dword [edi], 8
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov eax, dword [ecx + 4]
mov dword [edi + 8], eax
mov ecx, dword [ebp - 0xb14]
mov edx, dword [ebp - 0xb10]
inc ecx
mov dword [ebp - 0xb14], ecx
test ebx, ebx
js 0x409e6d
cmp dword [ebp - 0xb0c], 0
mov eax, dword [ebp - 0xb5c]
mov dword [ebp - 0xc00], eax
mov eax, dword [ebp - 0xb04]
mov dword [ebp - 0xbfc], eax
jne 0x40a202
lea eax, [edx + 0xc]
cmp eax, edx
jb 0x40a08c
inc ecx
mov dword [ebp - 0xb10], eax
mov dword [ebp - 0xb14], ecx
jmp 0x40a277
mov ebx, esi
jmp 0x40a1bb
mov edi, dword [ebp - 0xb0c]
xor eax, eax
mov ebx, eax
test ecx, ecx
je 0x40a22f
mov eax, dword [edi]
add eax, 4
cmp eax, 4
jb 0x40a2a3
add eax, edi
cmp eax, edi
jb 0x40a08c
inc ebx
mov edi, eax
cmp ebx, ecx
jb 0x40a210
lea eax, [edi + 4]
cmp eax, edi
jb 0x40a08c
mov ecx, dword [ebp - 0xb0c]
xor eax, eax
mov ebx, eax
add ecx, edx
lea eax, [edi + 0xc]
cmp eax, ecx
ja 0x40a043
mov eax, dword [ebp - 0xb5c]
mov dword [edi], 8
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xb04]
mov dword [edi + 8], eax
inc dword [ebp - 0xb14]
test ebx, ebx
js 0x409e6d
lea eax, [ebp - 0xba0]
mov edx, 0x7fffffff
push eax
mov ecx, 0x4027a0
call fcn.00429063
test eax, eax
jns 0x40a2a7
xor ebx, ebx
mov dword [ebp - 0xba0], ebx
mov ebx, 0xc000003e
jmp 0x409e6d
mov ebx, esi
jmp 0x40a26f
mov eax, dword [ebp - 0xba0]
lea edi, [eax + 1]
cmp edi, eax
jb 0x40a2ba
xor eax, eax
mov ebx, eax
jmp 0x40a2c1
or edi, 0xffffffff
mov ebx, esi
xor eax, eax
mov dword [ebp - 0xba0], edi
test ebx, ebx
js 0x409e6d
add edi, edi
je 0x40a381
cmp dword [ebp - 0xb0c], 0
jne 0x40a312
add edi, 4
cmp edi, 4
jb 0x40a30e
mov eax, dword [ebp - 0xb10]
lea ecx, [edi + eax]
cmp ecx, eax
jb 0x40a307
inc dword [ebp - 0xb14]
xor eax, eax
mov dword [ebp - 0xb10], ecx
mov ebx, eax
jmp 0x40a386
or dword [ebp - 0xb10], 0xffffffff
mov ebx, esi
jmp 0x40a386
cmp dword [ebp - 0xb14], 0
mov ecx, eax
mov edx, dword [ebp - 0xb0c]
jbe 0x40a33e
mov eax, dword [edx]
add eax, 4
cmp eax, 4
jb 0x40a30e
add eax, edx
cmp eax, edx
jb 0x40a30e
inc ecx
mov edx, eax
cmp ecx, dword [ebp - 0xb14]
jb 0x40a323
lea eax, [edx + 4]
cmp eax, edx
jb 0x40a30e
mov ecx, dword [ebp - 0xb10]
xor eax, eax
add ecx, dword [ebp - 0xb0c]
mov ebx, eax
lea eax, [edi + 4]
add eax, edx
cmp eax, ecx
jbe 0x40a365
mov ebx, 0xc0000023
jmp 0x40a386
push edi
lea eax, [edx + 4]
mov dword [edx], edi
push 0x4027a0
push eax
call fcn.0043a6f3
add esp, 0xc
inc dword [ebp - 0xb14]
jmp 0x40a386
mov ebx, 0xc000000d
test ebx, ebx
js 0x409e6d
cmp dword [ebp - 0xb0c], 0
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0xc6c], eax
jne 0x40a3cf
mov eax, dword [ebp - 0xb10]
lea ecx, [eax + 8]
cmp ecx, eax
jb 0x40a08c
inc dword [ebp - 0xb14]
mov dword [ebp - 0xb10], ecx
mov dword [ebp - 0xc14], 4
jmp 0x40a455
mov edx, dword [ebp - 0xb0c]
xor ebx, ebx
mov ecx, ebx
cmp dword [ebp - 0xb14], ecx
jbe 0x40a404
mov eax, dword [edx]
add eax, 4
cmp eax, 4
jb 0x40a474
add eax, edx
cmp eax, edx
jb 0x40a08c
inc ecx
mov edx, eax
cmp ecx, dword [ebp - 0xb14]
jb 0x40a3e1
lea edi, [edx + 4]
cmp edi, edx
jb 0x40a08c
mov ecx, dword [ebp - 0xb10]
lea eax, [edx + 8]
add ecx, dword [ebp - 0xb0c]
cmp eax, ecx
ja 0x40a043
mov eax, dword [ebp - 0xac0]
mov dword [edx], 4
mov dword [edi], eax
inc dword [ebp - 0xb14]
test ebx, ebx
js 0x409e6d
cmp dword [ebp - 0xb0c], 0
mov dword [ebp - 0xc14], 4
jne 0x40a478
mov eax, dword [ebp - 0xb10]
lea ecx, [eax + 8]
cmp ecx, eax
jb 0x40a08c
inc dword [ebp - 0xb14]
mov dword [ebp - 0xb10], ecx
jmp 0x40a4e4
mov ebx, esi
jmp 0x40a43a
mov edx, dword [ebp - 0xb0c]
xor ebx, ebx
mov ecx, ebx
cmp dword [ebp - 0xb14], ecx
jbe 0x40a4ad
mov eax, dword [edx]
add eax, 4
cmp eax, 4
jb 0x40a57e
add eax, edx
cmp eax, edx
jb 0x40a08c
inc ecx
mov edx, eax
cmp ecx, dword [ebp - 0xb14]
jb 0x40a48a
lea edi, [edx + 4]
cmp edi, edx
jb 0x40a08c
mov ecx, dword [ebp - 0xb10]
lea eax, [edx + 8]
add ecx, dword [ebp - 0xb0c]
cmp eax, ecx
ja 0x40a043
push 4
pop eax
mov dword [edx], eax
mov dword [edi], eax
inc dword [ebp - 0xb14]
test ebx, ebx
js 0x409e6d
xor ebx, ebx
rdtsc
mov edi, ebx
mov dword [ebp - 0xb54], ebx
mov dword [ebp - 0xaf8], edi
mov dword [ebp - 0xb00], ebx
mov dword [ebp - 0xaec], ebx
mov dword [ebp - 0xae0], ebx
mov dword [ebp - 0xac8], ebx
mov dword [ebp - 0xaac], ebx
mov dword [ebp - 0xadc], ebx
mov dword [ebp - 0xb58], ebx
mov dword [ebp - 0xad8], ebx
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xb24], edx
mov ecx, dword [ebp - 0xb10]
add ecx, 8
cmp ecx, 8
jb 0x40a600
lea eax, [ecx + 7]
and eax, 0xfffffff8
mov dword [ebp - 0xaf0], eax
cmp eax, ecx
jb 0x40a600
push eax
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov edi, eax
test edi, edi
jne 0x40a585
mov ebx, 0xc0000017
mov edi, dword [ebp - 0xaf8]
jmp 0x40a602
mov ebx, esi
jmp 0x40a4dc
mov eax, dword [ebp - 0xb14]
lea ecx, [edi + 4]
mov dword [edi], eax
cmp ecx, edi
jb 0x40a5e4
mov eax, dword [ebp - 0xb10]
mov dword [ecx], eax
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40a5e4
mov esi, dword [ebp - 0xaf0]
mov ecx, dword [ebp - 0xaf4]
mov dword [edi + esi - 8], ecx
mov ecx, dword [ebp - 0xb24]
mov dword [edi + esi - 4], ecx
push dword [ebp - 0xb10]
push dword [ebp - 0xb0c]
push eax
call fcn.0043a6f3
add esp, 0xc
mov dword [ebp - 0xb54], edi
xor eax, eax
mov dword [ebp - 0xaf8], esi
mov edi, eax
jmp 0x40a5e8
xor eax, eax
mov ebx, esi
test edi, edi
je 0x40a573
push edi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
jmp 0x40a573
mov ebx, esi
or ebx, 0x10000000
jl 0x40ba82
mov esi, dword [ebp - 0xb54]
xor ecx, ecx
mov dword [ebp - 0xb30], ecx
test esi, esi
jne 0x40a62a
mov ebx, 0xc000000d
jmp 0x40ac58
test edi, edi
je 0x40ac53
lea eax, [edi + 8]
push eax
push ecx
mov dword [ebp - 0xb2c], eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ebx, eax
mov dword [ebp - 0xaf0], ebx
test ebx, ebx
je 0x40ac53
xor eax, eax
mov cl, al
mov edx, eax
test edi, edi
je 0x40a66c
xor cl, byte [edx + esi]
inc edx
cmp edx, edi
jb 0x40a664
mov eax, 0xb1b54a58
mov esi, 0xc81ecb17
mov dword [ebp - 0x394], eax
mov eax, edi
shr eax, 3
mov dword [ebp - 0x390], esi
mov dword [ebp - 0xaf4], eax
test eax, eax
je 0x40aa7b
movzx eax, word [ebp - 0x38e]
add ebx, 7
movzx edx, word [ebp - 0x392]
mov dword [ebp - 0xae4], eax
mov eax, 0xb1b54a58
movzx esi, si
movzx eax, ax
mov dword [ebp - 0xabc], esi
mov esi, dword [ebp - 0xb54]
mov dword [ebp - 0xab0], eax
add esi, 2
xor eax, eax
mov dword [ebp - 0xad4], edx
mov dword [ebp - 0xb24], ebx
mov edx, eax
mov dword [ebp - 0xafc], esi
or ebx, 0xffffffff
mov dword [ebp - 0xb1c], eax
mov dword [ebp - 0xb34], eax
movzx edi, byte [esi - 2]
movzx eax, byte [esi - 1]
shl edi, 8
or edi, eax
movzx eax, byte [esi]
shl edi, 8
or edi, eax
movzx eax, byte [esi + 1]
movzx esi, byte [esi + 2]
shl edi, 8
or edi, eax
shl esi, 8
mov eax, dword [ebp - 0xafc]
movzx eax, byte [eax + 3]
or esi, eax
mov eax, dword [ebp - 0xafc]
shl esi, 8
movzx eax, byte [eax + 4]
or esi, eax
mov eax, dword [ebp - 0xafc]
shl esi, 8
add dword [ebp - 0xafc], 8
movzx eax, byte [eax + 5]
or esi, eax
xor ebx, esi
mov eax, ebx
sub eax, dword [ebp - 0xab0]
xor eax, edi
xor eax, edx
xor eax, 0xc81ecb17
mov edx, eax
mov dword [ebp - 0xab4], eax
xor edx, 0xc81ecb17
ror eax, 7
ror edx, 0xf
imul edx, dword [ebp - 0xad4]
add edx, eax
xor ebx, edx
mov edx, 0xb1b54a58
mov eax, ebx
ror eax, 0xa
lea edx, [ebx + edx]
ror edx, 9
imul edx, dword [ebp - 0xabc]
sub edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov edx, eax
mov dword [ebp - 0xab4], eax
xor edx, dword [ebp - 0xabc]
rol edx, 4
imul edx, dword [ebp - 0xae4]
rol eax, 5
add edx, eax
mov eax, 0xc81ecb17
xor ebx, edx
mov edx, ebx
xor edx, 0xb1b54a58
sub eax, edx
mov edx, dword [ebp - 0xab4]
xor edx, eax
mov dword [ebp - 0xab4], edx
sub edx, dword [ebp - 0xab0]
imul edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xab4]
shr eax, 6
sub edx, eax
xor ebx, edx
mov edx, dword [ebp - 0xab4]
mov eax, ebx
ror eax, 0xf
xor eax, dword [ebp - 0xabc]
imul eax, dword [ebp - 0xab0]
xor edx, eax
mov eax, edx
not eax
ror eax, 3
add eax, dword [ebp - 0xae4]
imul eax, dword [ebp - 0xabc]
xor ebx, eax
mov eax, ebx
sub eax, dword [ebp - 0xab0]
sub eax, 0xc81ecb17
xor edx, eax
mov dword [ebp - 0xab4], edx
mov eax, dword [ebp - 0xab4]
xor eax, dword [ebp - 0xae4]
imul eax, dword [ebp - 0xad4]
ror edx, 0xa
xor edx, eax
xor ebx, edx
mov edx, ebx
mov eax, ebx
xor edx, dword [ebp - 0xab0]
rol edx, 6
imul edx, dword [ebp - 0xabc]
ror eax, 3
xor edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov dword [ebp - 0xab4], eax
ror eax, 0xf
sub eax, dword [ebp - 0xae4]
imul eax, dword [ebp - 0xab0]
xor ebx, eax
mov edx, ebx
mov eax, ebx
xor edx, dword [ebp - 0xae4]
imul edx, dword [ebp - 0xab0]
shr eax, 1
xor edx, eax
mov eax, ebx
xor dword [ebp - 0xab4], edx
mov edx, ebx
sub edx, dword [ebp - 0xabc]
rol edx, 3
imul edx, dword [ebp - 0xab0]
shr eax, 0xf
xor edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov edx, eax
mov dword [ebp - 0xab4], eax
sub edx, dword [ebp - 0xabc]
imul edx, dword [ebp - 0xad4]
shr eax, 0xd
sub edx, eax
xor ebx, edx
mov edx, 0xb1b54a58
sub edx, ebx
mov eax, ebx
ror edx, 9
imul edx, dword [ebp - 0xabc]
ror eax, 0xb
xor edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov dword [ebp - 0xab4], eax
sub eax, dword [ebp - 0xae4]
sub eax, 0xb1b54a58
xor ebx, eax
mov eax, ebx
mov edx, ebx
xor eax, dword [ebp - 0xad4]
imul eax, dword [ebp - 0xab0]
ror edx, 7
sub eax, edx
mov edx, dword [ebp - 0xab4]
xor edx, eax
mov dword [ebp - 0xab4], edx
xor edx, dword [ebp - 0xae4]
mov eax, dword [ebp - 0xab4]
rol edx, 4
imul edx, dword [ebp - 0xad4]
ror eax, 0x10
sub edx, eax
xor ebx, edx
mov edx, 0xb1b54a58
sub edx, ebx
mov eax, ebx
ror edx, 0xa
imul edx, dword [ebp - 0xabc]
ror eax, 4
add edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov edx, eax
mov dword [ebp - 0xab4], eax
sub edx, 0xb1b54a58
ror eax, 9
ror edx, 4
imul edx, dword [ebp - 0xae4]
xor edx, eax
xor ebx, edx
mov edx, ebx
mov eax, ebx
xor edx, 0xc81ecb17
rol eax, 2
rol edx, 8
imul edx, dword [ebp - 0xab0]
sub edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov edx, 0xc81ecb17
sub edx, eax
mov dword [ebp - 0xab4], eax
ror edx, 0xb
imul edx, dword [ebp - 0xad4]
ror eax, 0xc
sub edx, eax
xor ebx, edx
mov edx, ebx
mov eax, ebx
xor edx, dword [ebp - 0xad4]
imul edx, dword [ebp - 0xabc]
shr eax, 8
xor edx, eax
mov eax, dword [ebp - 0xab4]
xor eax, edx
mov edx, dword [ebp - 0xb24]
xor ebx, eax
xor eax, dword [ebp - 0xb1c]
xor ebx, 0xc81ecb17
mov dword [ebp - 0xb1c], edi
xor ebx, 0xb1b54a58
xor ebx, dword [ebp - 0xb34]
mov byte [edx - 4], al
mov byte [edx], bl
ror eax, 8
mov byte [edx - 5], al
ror ebx, 8
mov byte [edx - 1], bl
ror eax, 8
mov byte [edx - 6], al
ror ebx, 8
mov byte [edx - 2], bl
ror eax, 8
ror ebx, 8
mov byte [edx - 7], al
mov byte [edx - 3], bl
add edx, 8
ror eax, 8
ror ebx, 8
sub dword [ebp - 0xaf4], 1
mov dword [ebp - 0xb34], esi
mov esi, dword [ebp - 0xafc]
mov dword [ebp - 0xb24], edx
mov edx, eax
mov dword [ebp - 0xab4], eax
jne 0x40a6f1
mov edi, dword [ebp - 0xaf8]
mov ebx, dword [ebp - 0xaf0]
movzx eax, cl
cdq
mov dword [ebx + edi], eax
mov dword [ebx + edi + 4], edx
push 0x18
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov esi, eax
mov dword [ebp - 0xaf4], esi
test esi, esi
jne 0x40aaad
mov ebx, 0xc0000017
jmp 0x40abb7
mov edi, dword [ebp - 0xb2c]
push edi
push 8
mov dword [esi], edi
call dword [0x4411bc]
push eax
call dword [0x4411b8]
test eax, eax
jne 0x40aad2
mov ebx, 0xc0000017
xor edx, edx
jmp 0x40ab50
mov dword [esi + 4], eax
push edi
push ebx
push eax
call fcn.0043a6f3
add esp, 0xc
mov eax, 0xa0
mov dword [esi + 8], eax
push eax
push 8
pop ebx
push ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
test eax, eax
je 0x40aac9
mov dword [esi + 0xc], eax
push 0x28
pop ecx
mov edi, eax
mov esi, 0x43f518
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xaf4]
push ebx
push ebx
mov dword [esi + 0x10], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ecx, eax
xor edx, edx
test ecx, ecx
jne 0x40ab34
mov ebx, 0xc0000017
jmp 0x40ab50
mov dword [esi + 0x14], ecx
mov ebx, edx
mov eax, dword [0x43f5b8]
mov dword [ecx], eax
mov eax, dword [0x43f5bc]
mov dword [ebp - 0xb30], esi
mov esi, edx
mov dword [ecx + 4], eax
test esi, esi
je 0x40abb7
cmp dword [esi + 4], 0
je 0x40ab70
push dword [esi + 4]
push edx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor edx, edx
mov dword [esi + 4], edx
cmp dword [esi + 0xc], 0
je 0x40ab8c
push dword [esi + 0xc]
push edx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor edx, edx
mov dword [esi + 0xc], edx
cmp dword [esi + 0x14], 0
je 0x40aba8
push dword [esi + 0x14]
push edx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor edx, edx
mov dword [esi + 0x14], edx
push esi
push edx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x40abcd
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb00], eax
xor eax, eax
mov esi, eax
jmp 0x40abd5
mov esi, dword [ebp - 0xb30]
xor eax, eax
push dword [ebp - 0xaf0]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test esi, esi
je 0x40ac58
xor eax, eax
cmp dword [esi + 4], eax
je 0x40ac0a
push dword [esi + 4]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 4], eax
cmp dword [esi + 0xc], 0
je 0x40ac26
push dword [esi + 0xc]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x40ac42
push dword [esi + 0x14]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0x14], eax
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
jmp 0x40ac58
mov ebx, 0xc0000001
or ebx, 0x10000000
jl 0x40ba82
mov ebx, dword [ebp - 0xb00]
mov eax, dword [ebx]
mov esi, dword [ebx + 0x10]
add eax, 4
mov ecx, dword [ebx + 8]
cmp eax, 4
jb 0x40ad7a
lea edx, [eax + 4]
cmp edx, eax
jb 0x40ad7a
add ecx, edx
cmp ecx, edx
jb 0x40ad7a
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ad7a
lea ecx, [eax + esi]
mov dword [ebp - 0xb2c], ecx
cmp ecx, eax
jb 0x40ad7a
push ecx
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov esi, eax
test esi, esi
jne 0x40acd4
mov ebx, 0xc0000017
mov esi, 0xc0000095
jmp 0x40ad81
mov eax, dword [ebx]
lea edi, [esi + 4]
mov dword [esi], eax
cmp edi, esi
jb 0x40ad57
push dword [ebx]
push dword [ebx + 4]
push edi
call fcn.0043a6f3
mov ecx, dword [ebx]
add esp, 0xc
add ecx, edi
cmp ecx, edi
jb 0x40ad57
mov eax, dword [ebx + 8]
lea edi, [ecx + 4]
mov dword [ecx], eax
cmp edi, ecx
jb 0x40ad57
push dword [ebx + 8]
push dword [ebx + 0xc]
push edi
call fcn.0043a6f3
mov ecx, dword [ebx + 8]
add esp, 0xc
add ecx, edi
cmp ecx, edi
jb 0x40ad57
mov eax, dword [ebx + 0x10]
lea edi, [ecx + 4]
mov dword [ecx], eax
cmp edi, ecx
jb 0x40ad57
push dword [ebx + 0x10]
push dword [ebx + 0x14]
push edi
call fcn.0043a6f3
mov eax, dword [ebx + 0x10]
add esp, 0xc
add eax, edi
xor ecx, ecx
cmp eax, edi
jb 0x40ad59
mov eax, dword [ebp - 0xb2c]
mov ebx, ecx
mov dword [ebp - 0xaec], esi
mov esi, ecx
mov dword [ebp - 0xae0], eax
jmp 0x40ad5e
xor ecx, ecx
mov ebx, 0xc0000095
test esi, esi
je 0x40acca
push esi
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
jmp 0x40acca
mov esi, 0xc0000095
mov ebx, esi
or ebx, 0x10000000
jl 0x40ba82
cmp dword [ebp - 0xb0c], 0
jne 0x40ada0
mov ebx, 0xc000000d
jmp 0x40ae3d
xor ebx, ebx
inc ebx
cmp dword [ebp - 0xb14], ebx
jbe 0x40ad96
mov ecx, dword [ebp - 0xb0c]
xor eax, eax
mov edx, eax
mov edi, dword [ecx]
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ae3b
lea ecx, [edi + eax]
cmp ecx, eax
jb 0x40ae3b
inc edx
cmp edx, ebx
jb 0x40adb5
mov ebx, dword [ecx]
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ae3b
cmp dword [ebp - 0xb14], 2
jbe 0x40ad96
mov ecx, dword [ebp - 0xb0c]
xor eax, eax
mov edx, eax
mov edi, dword [ecx]
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ae3b
lea ecx, [edi + eax]
cmp ecx, eax
jb 0x40ae3b
inc edx
cmp edx, 2
jb 0x40ade6
mov edx, dword [ecx]
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ae3b
lea eax, [ebx + 0x50]
cmp eax, 0x50
jb 0x40ae3b
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40ae3b
lea eax, [ecx + edx]
cmp eax, ecx
jb 0x40ae3b
mov edi, eax
mov dword [ebp - 0xaac], edi
xor eax, eax
mov ebx, eax
cmp edi, 0x400000
jbe 0x40ae43
mov ebx, 0x8000ffff
mov edi, eax
jmp 0x40ba88
mov ebx, esi
mov edi, dword [ebp - 0xaac]
test ebx, ebx
js 0x40ba82
push edi
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
test eax, eax
jne 0x40ae6c
mov ecx, dword [ebp - 0xac8]
mov ebx, 0xd0000017
jmp 0x40ae79
mov ecx, eax
mov dword [ebp - 0xac8], ecx
mov ebx, 0x10000000
test ebx, ebx
js 0x40ba82
mov eax, dword [ebp - 0xaec]
test eax, eax
jne 0x40ae95
mov ebx, 0x80070057
jmp 0x40ba82
test ecx, ecx
je 0x40ae8b
mov dword [ebp - 0xc34], eax
xor ebx, ebx
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0xc2c], eax
lea eax, [ebp - 0xbdc]
push eax
push 0x402c48
push 1
mov dword [ebp - 0xc30], ecx
mov dword [ebp - 0xc28], edi
mov dword [ebp - 0xc24], ebx
call dword [0x441144]
test eax, eax
jne 0x40aefd
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40aeee
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
mov eax, dword [ebp - 0xaac]
js 0x40af4b
mov ebx, 0x80004005
jmp 0x40af4b
push 0x405050
push dword [ebp - 0xbdc]
call dword [0x441124]
mov edi, eax
test edi, edi
je 0x40aed7
push ebx
push 0x14
lea eax, [ebp - 0xc34]
mov ecx, edi
push eax
push 0x86
call dword [0x4415fc]
call edi
mov ebx, eax
or ebx, 0x10000000
jl 0x40af45
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xaac], eax
jmp 0x40af4b
mov eax, dword [ebp - 0xaac]
cmp ebx, 0xd0000023
jne 0x40af5d
mov ebx, 0x8007007a
jmp 0x40ba82
test ebx, ebx
js 0x40ba82
xor ecx, ecx
mov dword [ebp - 0xb2c], ecx
cmp eax, 4
jae 0x40af7c
mov ebx, 0xc000003e
jmp 0x40b2c5
mov ebx, dword [ebp - 0xac8]
mov ecx, dword [ebx]
lea edx, [ebx + 4]
mov dword [ebp - 0xafc], ecx
cmp edx, ebx
jb 0x40b2c1
add eax, 0xfffffffc
cmp eax, ecx
jae 0x40afa6
mov ebx, 0xc000003e
jmp 0x40b2c3
lea ebx, [edx + ecx]
cmp ebx, edx
jb 0x40b2c1
lea edx, [ecx + 4]
cmp edx, 4
jb 0x40b2c1
mov eax, dword [ebp - 0xaac]
sub eax, edx
cmp eax, 4
jb 0x40af9c
mov eax, dword [ebp - 0xac8]
mov ebx, dword [ebx]
add eax, 4
mov edi, dword [ebp - 0xb2c]
add eax, ecx
lea edx, [eax + 4]
mov dword [ebp - 0xaf8], edx
cmp edx, eax
lea edx, [ecx + 4]
jb 0x40b2c1
lea eax, [edx + 4]
mov dword [ebp - 0xb2c], eax
cmp eax, edx
jb 0x40b2c1
mov eax, dword [ebp - 0xaac]
mov edx, dword [ebp - 0xb2c]
sub eax, edx
cmp eax, ebx
jb 0x40af9c
mov eax, dword [ebp - 0xaf8]
add eax, ebx
cmp eax, dword [ebp - 0xaf8]
jb 0x40b2c1
lea eax, [ebx + edx]
mov dword [ebp - 0xb30], eax
cmp eax, edx
jb 0x40b2c1
mov eax, dword [ebp - 0xaac]
sub eax, dword [ebp - 0xb30]
cmp eax, 4
jb 0x40af9c
mov eax, dword [ebp - 0xaf8]
add eax, ebx
mov edx, dword [eax]
lea ecx, [eax + 4]
mov dword [ebp - 0xaf4], edx
mov dword [ebp - 0xaf0], ecx
cmp ecx, eax
jb 0x40b2c1
mov eax, dword [ebp - 0xb30]
add eax, 4
mov dword [ebp - 0xae0], eax
cmp eax, dword [ebp - 0xb30]
jb 0x40b2c1
mov eax, dword [ebp - 0xaac]
sub eax, dword [ebp - 0xae0]
cmp eax, edx
jb 0x40af9c
mov eax, dword [ebp - 0xae0]
lea ecx, [edx + eax]
mov dword [ebp - 0xb2c], ecx
cmp ecx, eax
mov ecx, dword [ebp - 0xafc]
jb 0x40b2c1
mov esi, dword [ebp - 0xaac]
mov eax, esi
sub eax, dword [ebp - 0xb2c]
jne 0x40af9c
lea eax, [ebx + 0xc]
add eax, edx
add eax, ecx
cmp eax, esi
jne 0x40af9c
push 0x18
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov esi, eax
test esi, esi
jne 0x40b0ff
mov ebx, 0xc0000017
jmp 0x40b24a
mov eax, dword [ebp - 0xac8]
add eax, 4
je 0x40b154
mov eax, dword [ebp - 0xafc]
push eax
push 8
mov dword [esi], eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ecx, eax
test ecx, ecx
jne 0x40b134
mov ebx, 0xc0000017
xor eax, eax
jmp 0x40b1e3
mov dword [esi + 4], ecx
push dword [ebp - 0xafc]
mov eax, dword [ebp - 0xac8]
add eax, 4
push eax
push ecx
call fcn.0043a6f3
add esp, 0xc
xor eax, eax
jmp 0x40b15b
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
cmp dword [ebp - 0xaf8], edi
je 0x40b191
push ebx
push 8
mov dword [esi + 8], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
test eax, eax
je 0x40b128
mov dword [esi + 0xc], eax
push ebx
push dword [ebp - 0xaf8]
push eax
call fcn.0043a6f3
add esp, 0xc
xor eax, eax
jmp 0x40b197
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp dword [ebp - 0xaf0], edi
je 0x40b1d7
mov ebx, dword [ebp - 0xaf4]
push ebx
push 8
mov dword [esi + 0x10], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
test eax, eax
je 0x40b128
mov dword [esi + 0x14], eax
push ebx
push dword [ebp - 0xaf0]
push eax
call fcn.0043a6f3
add esp, 0xc
xor eax, eax
jmp 0x40b1dd
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov edi, esi
mov ebx, eax
mov esi, eax
test esi, esi
je 0x40b24a
cmp dword [esi + 4], 0
je 0x40b203
push dword [esi + 4]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 4], eax
cmp dword [esi + 0xc], 0
je 0x40b21f
push dword [esi + 0xc]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x40b23b
push dword [esi + 0x14]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0x14], eax
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor ecx, ecx
test ebx, ebx
js 0x40b258
mov dword [ebp - 0xadc], edi
mov edi, ecx
test edi, edi
je 0x40b2c5
cmp dword [edi + 4], 0
je 0x40b278
push dword [edi + 4]
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor ecx, ecx
mov dword [edi + 4], ecx
cmp dword [edi + 0xc], 0
je 0x40b294
push dword [edi + 0xc]
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor ecx, ecx
mov dword [edi + 0xc], ecx
cmp dword [edi + 0x14], 0
je 0x40b2b0
push dword [edi + 0x14]
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor ecx, ecx
mov dword [edi + 0x14], ecx
push edi
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
jmp 0x40b2c3
mov ebx, esi
xor ecx, ecx
or ebx, 0x10000000
mov edi, dword [ebp - 0xadc]
jl 0x40ba88
mov dword [ebp - 0xae8], ecx
mov esi, ecx
mov dword [ebp - 0xb28], esi
test edi, edi
jne 0x40b2f3
mov ebx, 0xd000000d
jmp 0x40ba88
mov ebx, dword [edi + 4]
mov dword [ebp - 0xb64], ebx
test ebx, ebx
je 0x40b2e9
mov edi, dword [edi]
test edi, edi
jne 0x40b310
mov ebx, 0xd000000d
jmp 0x40ba82
add edi, 0xfffffff8
mov dword [ebp - 0xb48], ecx
push edi
push ecx
mov dword [ebp - 0xb1c], edi
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov dword [ebp - 0xaf4], eax
test eax, eax
je 0x40b92c
mov esi, 0xab69605e
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0x37c], esi
xor ecx, ecx
mov esi, 0x7f1137f
mov dword [ebp - 0xad4], ebx
mov dword [ebp - 0x378], esi
mov dl, cl
mov esi, edi
mov eax, ecx
and esi, 7
je 0x40b8cd
mov dword [ebp - 0xaf8], ecx
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xae0], ecx
test esi, esi
je 0x40b3dc
mov edi, dword [ebp - 0xad4]
push 0x38
pop ebx
movzx eax, byte [edi]
inc edi
cmp ecx, 4
jge 0x40b3a4
lea ecx, [ebx - 0x20]
shl eax, cl
or dword [ebp - 0xafc], eax
jmp 0x40b3ae
mov ecx, ebx
shl eax, cl
or dword [ebp - 0xaf8], eax
mov ecx, dword [ebp - 0xae0]
sub ebx, 8
inc ecx
mov dword [ebp - 0xae0], ecx
cmp ecx, esi
jl 0x40b38e
mov eax, edi
mov dword [ebp - 0xad4], edi
mov edi, dword [ebp - 0xb1c]
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xafc]
mov ebx, dword [ebp - 0xaf8]
xor eax, 0x92f65a5
xor ebx, 0x699a899c
mov dword [ebp - 0xaac], eax
xor ecx, ecx
mov dword [ebp - 0xb30], eax
mov dword [ebp - 0xae4], ebx
test esi, esi
je 0x40b456
mov edi, dword [ebp - 0xb34]
lea eax, [edi + 1]
mov dword [ebp - 0xb2c], eax
cmp ecx, 4
jge 0x40b428
rol dword [ebp - 0xb30], 8
mov eax, dword [ebp - 0xb30]
jmp 0x40b435
rol dword [ebp - 0xae4], 8
mov eax, dword [ebp - 0xae4]
mov byte [edi], al
inc ecx
mov eax, dword [ebp - 0xb2c]
mov edi, eax
cmp ecx, esi
jl 0x40b40b
mov edi, dword [ebp - 0xb1c]
mov dword [ebp - 0xb34], eax
mov eax, dword [ebp - 0xaac]
cmp esi, 4
jbe 0x40b8a5
push 8
pop ecx
sub ecx, esi
shl ecx, 3
shr ebx, cl
shl ebx, cl
mov dword [ebp - 0xab0], ebx
mov ebx, dword [ebp - 0xad4]
mov eax, edi
shr eax, 3
mov dword [ebp - 0xaf0], eax
test eax, eax
je 0x40b86e
movzx ecx, word [ebp - 0x376]
mov edi, 0x7f1137f
movzx esi, word [ebp - 0x37a]
movzx eax, di
xor edi, 0xab69605e
mov dword [ebp - 0xad4], ecx
mov ecx, 0xab69605e
mov dword [ebp - 0xae4], eax
movzx eax, cx
mov ecx, dword [ebp - 0xab0]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0xb34]
add eax, 7
mov dword [ebp - 0xabc], esi
mov dword [ebp - 0xb2c], edi
lea esi, [ebx + 2]
mov dword [ebp - 0xae0], eax
movzx ebx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx edi, byte [esi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [esi]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 3]
or edi, eax
movzx eax, byte [esi + 4]
shl edi, 8
or edi, eax
movzx eax, byte [esi + 5]
add esi, 8
shl edi, 8
or edi, eax
mov dword [ebp - 0xb24], esi
mov eax, dword [ebp - 0xaac]
xor ecx, edi
xor eax, ebx
mov esi, 0x7f1137f
xor esi, ecx
mov dword [ebp - 0xaac], eax
xor esi, eax
mov eax, 0xab69605e
xor esi, eax
mov ecx, esi
sub ecx, eax
mov eax, esi
rol ecx, 5
imul ecx, dword [ebp - 0xae4]
rol eax, 0xa
add ecx, eax
mov eax, dword [ebp - 0xaac]
xor eax, ecx
mov ecx, 0x7f1137f
add ecx, eax
mov dword [ebp - 0xaac], eax
ror ecx, 9
imul ecx, dword [ebp - 0xabc]
rol eax, 2
sub ecx, eax
xor esi, ecx
mov ecx, esi
mov eax, esi
sub ecx, dword [ebp - 0xae4]
imul ecx, dword [ebp - 0xab4]
shr eax, 0xd
sub ecx, eax
mov eax, dword [ebp - 0xaac]
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0xaac], eax
xor ecx, dword [ebp - 0xabc]
rol ecx, 6
imul ecx, dword [ebp - 0xad4]
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor esi, ecx
mov ecx, esi
xor ecx, 0xab69605e
sub eax, ecx
mov ecx, dword [ebp - 0xaac]
xor ecx, eax
mov dword [ebp - 0xaac], ecx
mov eax, dword [ebp - 0xaac]
xor eax, dword [ebp - 0xae4]
imul eax, dword [ebp - 0xabc]
ror ecx, 6
xor ecx, eax
xor esi, ecx
mov ecx, 0x7f1137f
lea ecx, [ecx + esi]
ror ecx, 0xf
imul ecx, dword [ebp - 0xab4]
mov eax, esi
rol eax, 2
add ecx, eax
mov eax, dword [ebp - 0xaac]
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0xaac], eax
sub ecx, 0xab69605e
rol eax, 8
ror ecx, 0xe
imul ecx, dword [ebp - 0xad4]
sub ecx, eax
xor esi, ecx
mov ecx, esi
mov eax, esi
xor ecx, 0xab69605e
ror eax, 0xa
ror ecx, 0xc
imul ecx, dword [ebp - 0xae4]
xor ecx, eax
mov eax, dword [ebp - 0xaac]
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0xaac], eax
xor ecx, dword [ebp - 0xad4]
imul ecx, dword [ebp - 0xabc]
shr eax, 0xa
xor ecx, eax
xor esi, ecx
mov ecx, dword [ebp - 0xaac]
mov eax, esi
not eax
ror eax, 5
add eax, dword [ebp - 0xab4]
imul eax, dword [ebp - 0xad4]
xor ecx, eax
mov eax, ecx
mov dword [ebp - 0xaac], ecx
sub eax, dword [ebp - 0xad4]
xor eax, esi
mov esi, dword [ebp - 0xaac]
xor eax, 0xab69605e
mov ecx, eax
mov dword [ebp - 0xab0], eax
xor ecx, dword [ebp - 0xad4]
rol ecx, 2
imul ecx, dword [ebp - 0xae4]
shr eax, 2
add ecx, eax
mov eax, 0x7f1137f
xor esi, ecx
mov ecx, esi
sub ecx, eax
mov eax, esi
ror ecx, 6
imul ecx, dword [ebp - 0xabc]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0xab0]
xor eax, ecx
mov dword [ebp - 0xab0], eax
mov ecx, eax
xor eax, dword [ebp - 0xae4]
imul eax, dword [ebp - 0xab4]
ror ecx, 9
add ecx, eax
xor esi, ecx
mov ecx, esi
mov eax, esi
xor ecx, dword [ebp - 0xabc]
rol ecx, 5
imul ecx, dword [ebp - 0xad4]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0xb2c]
xor dword [ebp - 0xab0], ecx
mov ecx, dword [ebp - 0xab0]
xor eax, ecx
xor esi, eax
mov eax, esi
ror eax, 3
sub eax, dword [ebp - 0xabc]
imul eax, dword [ebp - 0xae4]
xor ecx, eax
mov eax, 0x7f1137f
mov dword [ebp - 0xab0], ecx
sub ecx, eax
mov eax, dword [ebp - 0xab0]
ror ecx, 1
imul ecx, dword [ebp - 0xab4]
ror eax, 6
sub ecx, eax
xor esi, ecx
mov ecx, 0xab69605e
mov eax, esi
rol eax, 0xe
lea ecx, [esi + ecx]
rol ecx, 3
imul ecx, dword [ebp - 0xad4]
add ecx, eax
mov eax, dword [ebp - 0xab0]
xor eax, ecx
mov ecx, 0xab69605e
add ecx, eax
mov dword [ebp - 0xab0], eax
rol ecx, 0xf
imul ecx, dword [ebp - 0xae4]
ror eax, 0xe
sub ecx, eax
xor esi, ecx
mov ecx, dword [ebp - 0xab4]
xor ecx, esi
mov dword [ebp - 0xaac], esi
imul ecx, dword [ebp - 0xabc]
mov eax, esi
shr eax, 3
xor ecx, eax
mov eax, dword [ebp - 0xab0]
xor eax, ecx
mov ecx, 0x7f1137f
xor ecx, eax
mov dword [ebp - 0xab0], eax
rol ecx, 4
imul ecx, dword [ebp - 0xab4]
rol eax, 2
xor ecx, eax
mov eax, esi
xor ecx, dword [ebp - 0xafc]
mov esi, dword [ebp - 0xae0]
xor eax, ecx
mov ecx, dword [ebp - 0xab0]
xor ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0xafc], ebx
mov byte [esi - 4], al
mov byte [esi], cl
ror eax, 8
mov byte [esi - 5], al
ror ecx, 8
mov byte [esi - 1], cl
ror eax, 8
mov byte [esi - 6], al
ror ecx, 8
mov byte [esi - 2], cl
ror eax, 8
ror ecx, 8
mov byte [esi - 7], al
mov byte [esi - 3], cl
add esi, 8
ror eax, 8
ror ecx, 8
sub dword [ebp - 0xaf0], 1
mov dword [ebp - 0xae0], esi
mov esi, dword [ebp - 0xb24]
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaf8], edi
jne 0x40b4e4
mov edi, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xaf4]
xor eax, eax
test edi, edi
je 0x40b882
xor dl, byte [eax + ecx]
inc eax
cmp eax, edi
jb 0x40b87a
mov esi, dword [ebp - 0xb64]
movzx eax, dl
cdq
cmp eax, dword [edi + esi]
jne 0x40b8eb
cmp edx, dword [edi + esi + 4]
jne 0x40b8eb
mov ebx, dword [ebp - 0xb48]
xor eax, eax
mov esi, ecx
mov ecx, eax
jmp 0x40b8fe
xor ecx, ecx
mov dword [ebp - 0xab0], ecx
cmp esi, 4
jae 0x40b471
push 4
pop ecx
sub ecx, esi
shl ecx, 3
shr eax, cl
shl eax, cl
mov dword [ebp - 0xaac], eax
jmp 0x40b471
or dword [ebp - 0xaf8], 0xffffffff
mov dword [ebp - 0xafc], ecx
mov dword [ebp - 0xab0], ecx
mov dword [ebp - 0xaac], eax
jmp 0x40b477
mov esi, dword [ebp - 0xb28]
mov ebx, 0xc004d501
mov edi, dword [ebp - 0xae8]
xor eax, eax
test ecx, ecx
je 0x40b911
push ecx
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x40b92c
xor ecx, ecx
mov dword [ebp - 0xb58], esi
mov esi, ecx
mov dword [ebp - 0xad8], edi
mov ebx, 0x10000000
jmp 0x40b933
mov ebx, 0xd0000001
xor ecx, ecx
test esi, esi
je 0x40b946
push esi
push ecx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x40ba82
mov ebx, dword [ebp - 0xad8]
cmp ebx, 4
jae 0x40b963
mov ebx, 0xc000003e
jmp 0x40ba7c
mov edx, dword [ebp - 0xb58]
mov eax, dword [edx]
lea ecx, [edx + 4]
mov dword [ebp - 0xae8], eax
cmp ecx, edx
jb 0x40ba77
lea eax, [ebx - 4]
cmp eax, 4
jb 0x40b959
mov edi, dword [ecx]
lea esi, [ecx + 4]
cmp esi, ecx
jb 0x40ba77
lea eax, [ebx - 8]
cmp eax, edi
jb 0x40b959
lea eax, [edi + 8]
cmp eax, 8
jb 0x40ba77
mov ecx, dword [ebp - 0xb58]
lea edx, [esi + edi]
lea eax, [ebx + ecx]
cmp eax, edx
jb 0x40b959
sub ebx, esi
sub ebx, edi
add ebx, ecx
cmp ebx, 8
jae 0x40b959
xor eax, eax
mov dword [ebp - 0xb1c], eax
mov ebx, eax
test esi, esi
je 0x40ba0c
mov ecx, esi
cmp edx, esi
jb 0x40ba77
jbe 0x40ba08
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40ba77
cmp eax, edx
ja 0x40ba2d
mov eax, dword [ecx]
add eax, 4
cmp eax, 4
jb 0x40ba34
add eax, ecx
cmp eax, ecx
jb 0x40ba77
mov ecx, eax
cmp ecx, edx
ja 0x40ba2d
inc dword [ebp - 0xb1c]
cmp ecx, edx
jb 0x40b9d9
cmp ecx, edx
jne 0x40ba2d
test edi, edi
je 0x40ba3b
push edi
push 8
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ebx, eax
test ebx, ebx
jne 0x40ba3b
mov ebx, 0xc0000017
jmp 0x40ba60
mov ebx, 0xc000000d
jmp 0x40ba7c
mov ebx, 0xc0000095
jmp 0x40ba60
test esi, esi
je 0x40ba4a
push edi
push esi
push ebx
call fcn.0043a6f3
add esp, 0xc
mov eax, dword [ebp - 0xb1c]
mov dword [ebp - 0xb84], ebx
mov dword [ebp - 0xb8c], eax
xor eax, eax
mov ebx, eax
test ebx, ebx
js 0x40ba7c
mov eax, dword [ebp - 0xae8]
cmp eax, dword [ebp - 0xb8c]
je 0x40ba7c
jmp 0x40b959
mov ebx, 0xc0000095
or ebx, 0x10000000
mov edi, dword [ebp - 0xadc]
mov eax, dword [ebp - 0xb54]
test eax, eax
je 0x40baa3
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov esi, dword [ebp - 0xb00]
test esi, esi
je 0x40bb11
xor eax, eax
cmp dword [esi + 4], eax
je 0x40baca
push dword [esi + 4]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 4], eax
cmp dword [esi + 0xc], 0
je 0x40bae6
push dword [esi + 0xc]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0xc], eax
cmp dword [esi + 0x14], 0
je 0x40bb02
push dword [esi + 0x14]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [esi + 0x14], eax
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov eax, dword [ebp - 0xaec]
test eax, eax
je 0x40bb2c
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov eax, dword [ebp - 0xac8]
test eax, eax
je 0x40bb47
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test edi, edi
je 0x40bbaf
xor eax, eax
cmp dword [edi + 4], eax
je 0x40bb68
push dword [edi + 4]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [edi + 4], eax
cmp dword [edi + 0xc], 0
je 0x40bb84
push dword [edi + 0xc]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [edi + 0xc], eax
cmp dword [edi + 0x14], 0
je 0x40bba0
push dword [edi + 0x14]
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor eax, eax
mov dword [edi + 0x14], eax
push edi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov eax, dword [ebp - 0xb58]
test eax, eax
je 0x40bbca
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x409e6d
xor edi, edi
inc edi
cmp dword [ebp - 0xb8c], edi
jae 0x40bbe7
mov ebx, 0xc004d501
jmp 0x409e6d
cmp dword [ebp - 0xb84], 0
jne 0x40bc47
mov ebx, 0xc000000d
mov eax, dword [ebp - 0xb20]
test ebx, ebx
js 0x409e6d
cmp eax, 0xd0000023
jne 0x40bc15
mov eax, 0x8007007a
mov dword [ebp - 0xb20], eax
cmp eax, 0x8007007a
je 0x40bc26
mov ebx, eax
test eax, eax
js 0x409e6d
cmp dword [ebp - 0xb8c], 6
jne 0x40bbdd
cmp dword [ebp - 0xb84], 0
jne 0x40bca5
mov ebx, 0xc000000d
mov esi, 0xc0000095
jmp 0x40bd2c
cmp dword [ebp - 0xb8c], 0
jbe 0x40bbf0
mov eax, dword [ebp - 0xb84]
mov edx, dword [eax]
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40bc65
xor eax, eax
mov ebx, eax
jmp 0x40bc6d
or ecx, 0xffffffff
mov ebx, 0xc0000095
test ebx, ebx
js 0x40bc7b
mov eax, edx
neg eax
sbb eax, eax
and eax, ecx
jmp 0x40bc87
mov edx, dword [ebp - 0xc70]
mov eax, dword [ebp - 0xc74]
test ebx, ebx
js 0x40bbf5
cmp edx, 4
jne 0x40a043
mov eax, dword [eax]
mov dword [ebp - 0xb20], eax
jmp 0x40bbfb
mov eax, dword [ebp - 0xb84]
xor ecx, ecx
mov edx, ecx
mov esi, dword [eax]
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40bd25
lea eax, [esi + ecx]
cmp eax, ecx
jb 0x40bd25
inc edx
cmp edx, edi
jb 0x40bcaf
mov edi, dword [eax]
lea edx, [eax + 4]
cmp edx, eax
jb 0x40bcd5
mov dword [ebp - 0xad8], edx
jmp 0x40bcdc
or dword [ebp - 0xad8], 0xffffffff
cmp edx, eax
mov esi, 0xc0000095
sbb ebx, ebx
and ebx, esi
cmp edx, eax
jb 0x40bcf9
mov ecx, edi
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 0xad8]
jmp 0x40bd05
mov edi, dword [ebp - 0xc78]
mov ecx, dword [ebp - 0xc64]
cmp edx, eax
jb 0x40bd2c
cmp edi, 8
jne 0x40a043
mov eax, dword [ecx]
mov dword [ebp - 0xbf4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbf0], eax
jmp 0x40bd2c
mov esi, 0xc0000095
mov ebx, esi
test ebx, ebx
js 0x409e6d
cmp dword [ebp - 0xb84], 0
jne 0x40bd44
mov ebx, 0xc000000d
jmp 0x40bd79
mov ecx, dword [ebp - 0xb84]
xor ebx, ebx
mov edx, ebx
mov edi, dword [ecx]
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40bd77
lea ecx, [edi + eax]
cmp ecx, eax
jb 0x40bd77
inc edx
cmp edx, 2
jb 0x40bd4e
lea eax, [ecx + 4]
cmp eax, ecx
jb 0x40bd77
cmp dword [ecx], 4
je 0x40bd79
mov ebx, 0xc0000023
jmp 0x40bd79
mov ebx, esi
test ebx, ebx
js 0x409e6d
cmp dword [ebp - 0xb84], 0
jne 0x40bd94
mov ebx, 0xc000000d
jmp 0x409e6d
mov eax, dword [ebp - 0xb84]
xor ecx, ecx
mov edx, ecx
mov edi, dword [eax]
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40a08c
lea eax, [edi + ecx]
cmp eax, ecx
jb 0x40a08c
inc edx
cmp edx, 3
jb 0x40bd9e
mov edi, dword [eax]
lea ecx, [eax + 4]
mov dword [ebp - 0xaf0], edi
cmp ecx, eax
jb 0x40bdcf
mov edx, ecx
jmp 0x40bdd2
or edx, 0xffffffff
cmp ecx, eax
sbb ebx, ebx
and ebx, esi
cmp ecx, eax
jb 0x40bde4
neg edi
sbb edi, edi
and edi, edx
jmp 0x40bdf6
mov edx, dword [ebp - 0xc4c]
mov edi, dword [ebp - 0xc50]
mov dword [ebp - 0xaf0], edx
cmp ecx, eax
jb 0x409e6d
mov eax, dword [ebp - 0xb84]
xor ecx, ecx
mov edx, ecx
mov ebx, dword [eax]
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40be7f
lea eax, [ebx + ecx]
cmp eax, ecx
jb 0x40be7f
inc edx
cmp edx, 4
jb 0x40be08
mov ecx, dword [eax]
lea edx, [eax + 4]
mov dword [ebp - 0xae0], ecx
cmp edx, eax
jb 0x40be35
mov dword [ebp - 0xad8], edx
jmp 0x40be3c
or dword [ebp - 0xad8], 0xffffffff
cmp edx, eax
sbb ebx, ebx
and ebx, esi
cmp edx, eax
jb 0x40be52
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 0xad8]
jmp 0x40be64
mov ecx, dword [ebp - 0xc54]
mov dword [ebp - 0xae0], ecx
mov ecx, dword [ebp - 0xc58]
cmp edx, eax
jb 0x40be81
cmp dword [ebp - 0xae0], 4
jne 0x40a043
mov eax, dword [ecx]
mov dword [ebp - 0xbe0], eax
jmp 0x40be81
mov ebx, esi
test ebx, ebx
js 0x409e6d
mov eax, dword [ebp - 0xb84]
xor ecx, ecx
mov edx, ecx
mov ebx, dword [eax]
lea ecx, [eax + 4]
cmp ecx, eax
jb 0x40bef6
lea eax, [ebx + ecx]
cmp eax, ecx
jb 0x40bef6
inc edx
cmp edx, 5
jb 0x40be93
lea edx, [eax + 4]
cmp edx, eax
jb 0x40beb8
mov dword [ebp - 0xad8], edx
jmp 0x40bebf
or dword [ebp - 0xad8], 0xffffffff
cmp edx, eax
sbb ebx, ebx
and ebx, esi
cmp edx, eax
jb 0x40bed9
mov ecx, dword [eax]
mov esi, dword [eax]
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 0xad8]
jmp 0x40bee5
mov esi, dword [ebp - 0xc5c]
mov ecx, dword [ebp - 0xc60]
cmp edx, eax
jb 0x40bef8
cmp esi, 4
jne 0x40a043
mov ecx, dword [ecx]
jmp 0x40befe
mov ebx, esi
mov ecx, dword [ebp - 0xac4]
test ebx, ebx
js 0x409e6d
mov eax, dword [ebp - 0xb5c]
cmp eax, dword [ebp - 0xbf4]
jne 0x40bbdd
mov eax, dword [ebp - 0xb04]
cmp eax, dword [ebp - 0xbf0]
jne 0x40bbdd
cmp dword [ebp - 0xbe0], 4
mov dword [ebp - 0xac0], ecx
jbe 0x40bf43
mov ebx, 0x8007007a
jmp 0x409e6d
mov eax, dword [ebp - 0xaf0]
cmp eax, 4
ja 0x40bf39
push eax
push edi
push dword [ebp - 0xacc]
call fcn.0043a6f3
add esp, 0xc
test ebx, ebx
js 0x409e6d
mov eax, dword [ebp - 0xb20]
mov esi, dword [ebp - 0xab8]
test eax, eax
je 0x409e73
mov ebx, eax
jmp 0x409e73
xor eax, eax
test esi, esi
je 0x40bf96
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
mov eax, dword [ebp - 0xad0]
test eax, eax
je 0x40bfb1
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x412287
mov eax, dword [ebp - 0xac0]
test eax, eax
je 0x412273
mov dword [0x43fae8], eax
mov esi, 0x104
push esi
lea eax, [ebp - 0x2c0]
xor ebx, ebx
push eax
push 0x400000
mov dword [ebp - 0xc08], ebx
call dword [0x4410cc]
test eax, eax
je 0x4107e5
cmp eax, esi
jne 0x40c007
call dword [0x441120]
cmp eax, 0x7a
je 0x4107e5
mov esi, dword [0x43f10c]
mov ecx, esi
push 0x403
push ebx
push ebx
call dword [0x4415fc]
call esi
mov dword [ebp - 0xae4], eax
test eax, eax
jne 0x40c033
call dword [0x441120]
jmp 0x4107e5
mov esi, dword [0x43f0dc]
mov ecx, esi
call dword [0x4415fc]
call esi
mov dword [0x4401b0], eax
lea edi, [ebp - 0x350]
mov eax, dword [0x43fae8]
mov dword [ebp - 0xb48], eax
xor eax, eax
stosd dword es:[edi], eax
push 0x2c
push ebx
mov dword [0x4401b4], edx
stosd dword es:[edi], eax
mov dword [ebp - 0xbec], ebx
mov dword [ebp - 0xbe8], ebx
mov dword [ebp - 0xab8], ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x4b0]
push eax
mov dword [ebp - 0xb30], ebx
call fcn.0043a6ff
add esp, 0xc
mov dword [ebp - 0xb34], ebx
mov edx, 0x4401bc
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x40c099
mov eax, dword [0x4401b8]
test eax, eax
jne 0x40c6b4
push 0x338
mov esi, ebx
mov dword [ebp - 0xac4], ebx
push ebx
mov dword [ebp - 0xabc], ebx
mov dword [ebp - 0xac8], esi
mov dword [ebp - 0xaf4], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov dword [ebp - 0xae8], eax
test eax, eax
je 0x40c6a6
or dword [ebp - 0xad8], 0xffffffff
mov edx, 0xab69605e
mov dword [ebp - 0x508], edx
add eax, 7
mov edx, 0x7f1137f
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0x504], edx
mov cl, bl
mov dword [ebp - 0xaac], ebx
mov edx, ebx
mov dword [ebp - 0xae0], eax
mov esi, 0x40307a
mov dword [ebp - 0xaf0], 0x67
movzx ebx, byte [esi - 2]
movzx eax, byte [esi - 1]
movzx edi, byte [esi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [esi]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 3]
or edi, eax
xor edx, ebx
movzx eax, byte [esi + 4]
shl edi, 8
or edi, eax
mov dword [ebp - 0xab0], edx
movzx eax, byte [esi + 5]
add esi, 8
mov dword [ebp - 0xacc], esi
shl edi, 8
or edi, eax
mov esi, edi
xor esi, dword [ebp - 0xaac]
xor esi, edx
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
add eax, 0x7f1137f
ror eax, 9
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xab0]
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
mov eax, dword [ebp - 0xab0]
sub edx, 0x756c8a2
xor eax, edx
mov dword [ebp - 0xab0], eax
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xab0]
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
mov edx, dword [ebp - 0xab0]
xor edx, eax
mov dword [ebp - 0xab0], edx
mov eax, dword [ebp - 0xab0]
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
add eax, 0x54969fa2
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xab0]
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xab0]
shr eax, 0xa
xor edx, eax
xor edx, esi
mov esi, dword [ebp - 0xab0]
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor esi, eax
lea eax, [esi - 0x7f1]
xor eax, edx
xor eax, 0xab69605e
mov dword [ebp - 0xaac], eax
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xaac]
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
mov edx, eax
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
xor dword [ebp - 0xaac], edx
mov edx, dword [ebp - 0xaac]
xor esi, edx
xor esi, 0xac987321
mov eax, esi
ror eax, 3
imul eax, eax, 0x137f
sub eax, 0xd0dd417
xor edx, eax
mov dword [ebp - 0xaac], edx
lea eax, [edx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xaac]
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
add eax, 0xab69605e
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xaac]
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov edx, 0x7f1137f
mov dword [ebp - 0xaac], eax
xor eax, edx
rol eax, 4
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xaac]
rol eax, 2
xor edx, eax
mov eax, dword [ebp - 0xaac]
xor edx, dword [ebp - 0xad0]
xor eax, dword [ebp - 0xad8]
xor esi, edx
mov edx, esi
mov dword [ebp - 0xab0], esi
mov esi, dword [ebp - 0xae0]
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xad8], edi
mov byte [esi - 4], dl
mov byte [esi], al
ror edx, 8
mov byte [esi - 5], dl
ror eax, 8
mov byte [esi - 1], al
ror edx, 8
mov byte [esi - 6], dl
ror eax, 8
mov byte [esi - 2], al
ror edx, 8
ror eax, 8
mov byte [esi - 7], dl
mov byte [esi - 3], al
add esi, 8
ror eax, 8
ror edx, 8
sub dword [ebp - 0xaf0], 1
mov dword [ebp - 0xae0], esi
mov esi, dword [ebp - 0xacc]
mov dword [ebp - 0xaac], eax
jne 0x40c133
mov esi, dword [ebp - 0xae8]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0x40c49e
movzx eax, cl
cdq
cmp eax, dword [0x4033b0]
jne 0x40c4d0
cmp edx, dword [0x4033b4]
jne 0x40c4d0
mov edi, esi
xor eax, eax
mov dword [ebp - 0xac8], edi
mov esi, eax
mov ebx, 0x337
jmp 0x40c4e5
mov edi, dword [ebp - 0xac8]
or ebx, 0xffffffff
mov dword [ebp - 0xaf4], 0xc004d501
xor eax, eax
test esi, esi
je 0x40c4f8
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
cmp dword [ebp - 0xaf4], 0
jl 0x40c6a0
xor eax, eax
mov esi, edi
push 0x40
mov byte [ebx + edi], al
mov ebx, 0x43faf0
push eax
push ebx
call fcn.0043a6ff
add esp, 0xc
cmp byte [edi], 0
je 0x40c636
mov edi, ebx
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xb08]
jne 0x40c52f
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [0x441144]
test eax, eax
je 0x40c699
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0xabc], ecx
cmp word [eax], dx
je 0x40c579
mov ecx, 0xc000007b
mov dword [ebp - 0xabc], ecx
jmp 0x40c5c1
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0x40c56c
add edx, dword [edi]
cmp edx, dword [edi]
jb 0x40c56c
cmp dword [edx], 0x4550
jne 0x40c56c
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0xb6c]
je 0x40c5af
cmp ax, word [ebp - 0xb50]
je 0x40c5af
mov ecx, 0xc000000d
jmp 0x40c571
mov eax, dword [edx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi + 2]
add esi, 6
mov dword [ebp - 0xb28], eax
test eax, eax
je 0x40c62a
mov edx, esi
mov dword [ebp - 0xae8], esi
lea eax, [edx + 1]
mov dword [ebp - 0xacc], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40c5e2
sub edx, dword [ebp - 0xacc]
inc esi
add esi, edx
test ecx, ecx
js 0x40c61b
push dword [ebp - 0xae8]
push dword [edi]
call dword [0x441124]
test eax, eax
je 0x40c636
mov ecx, dword [ebp - 0xac4]
mov dword [ecx*4 + 0x43f090], eax
mov ecx, dword [ebp - 0xabc]
inc dword [ebp - 0xac4]
inc ebx
cmp ebx, dword [ebp - 0xb28]
jb 0x40c5d1
add edi, 0x10
cmp byte [esi], 0
jne 0x40c528
mov ebx, dword [ebp - 0xabc]
mov esi, dword [ebp - 0xac8]
test esi, esi
je 0x40c657
push esi
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
jns 0x40c6ad
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0x43faf0]
test eax, eax
je 0x40c670
push eax
call dword [0x441108]
add esi, 0x10
cmp esi, 0x40
jb 0x40c65f
push 0x40
push ebx
push 0x43faf0
call fcn.0043a6ff
add esp, 0xc
mov esi, 0x401480
mov edi, 0x43f090
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x40c6ba
mov ebx, 0xc000007a
jmp 0x40c63c
mov esi, dword [ebp - 0xac8]
mov ebx, 0xc000007a
jmp 0x40c642
mov eax, dword [0x4401b8]
xor ebx, ebx
inc eax
mov dword [0x4401b8], eax
xor eax, eax
mov edx, 0x4401bc
xchg dword [edx], eax
xor eax, eax
mov dword [ebp - 0xb04], ebx
lea edi, [ebp - 0x4d0]
mov dword [ebp - 0xb5c], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0xb9c], ebx
mov dword [ebp - 0xb58], ebx
mov dword [ebp - 0xb00], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0xaec], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x40c6f3
mov eax, dword [0x4401b8]
test eax, eax
jne 0x40cd28
push 0x338
mov esi, ebx
mov dword [ebp - 0xac4], ebx
push ebx
mov dword [ebp - 0xabc], ebx
mov dword [ebp - 0xac8], esi
mov dword [ebp - 0xaf4], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov dword [ebp - 0xacc], eax
test eax, eax
je 0x40cd1a
or dword [ebp - 0xad8], 0xffffffff
mov edx, 0xab69605e
mov dword [ebp - 0x518], edx
add eax, 7
mov edx, 0x7f1137f
mov dword [ebp - 0xad0], ebx
mov edi, 0x40307a
mov dword [ebp - 0x514], edx
mov cl, bl
mov dword [ebp - 0xae0], eax
mov edx, ebx
mov dword [ebp - 0xac0], edi
mov dword [ebp - 0xaf0], 0x67
movzx ebx, byte [edi - 2]
movzx eax, byte [edi - 1]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi]
shl ebx, 8
or ebx, eax
movzx eax, byte [edi + 1]
movzx edi, byte [edi + 2]
shl ebx, 8
or ebx, eax
shl edi, 8
mov eax, dword [ebp - 0xac0]
xor edx, ebx
mov dword [ebp - 0xaac], edx
movzx eax, byte [eax + 3]
or edi, eax
mov eax, dword [ebp - 0xac0]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0xac0]
shl edi, 8
add dword [ebp - 0xac0], 8
movzx eax, byte [eax + 5]
or edi, eax
xor esi, edi
mov dword [ebp - 0xab0], esi
mov esi, edx
xor esi, dword [ebp - 0xab0]
xor esi, 0xac987321
lea eax, [esi + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, esi
rol eax, 0xa
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
add eax, 0x7f1137f
ror eax, 9
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xaac]
rol eax, 2
sub edx, eax
xor esi, edx
imul edx, esi, 0x605e
mov eax, esi
shr eax, 0xd
sub edx, eax
mov eax, dword [ebp - 0xaac]
sub edx, 0x756c8a2
xor eax, edx
mov dword [ebp - 0xaac], eax
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xaac]
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub eax, edx
mov edx, dword [ebp - 0xaac]
xor edx, eax
mov dword [ebp - 0xaac], edx
mov eax, dword [ebp - 0xaac]
xor eax, 0x137f
ror edx, 6
imul eax, eax, 0xab69
xor edx, eax
xor esi, edx
lea eax, [esi + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, esi
rol eax, 2
add edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
add eax, 0x54969fa2
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, dword [ebp - 0xaac]
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69605e
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, esi
ror eax, 0xa
xor edx, eax
mov eax, dword [ebp - 0xaac]
xor eax, edx
mov dword [ebp - 0xaac], eax
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, dword [ebp - 0xaac]
shr eax, 0xa
xor edx, eax
xor edx, esi
mov esi, dword [ebp - 0xaac]
mov eax, edx
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor esi, eax
lea eax, [esi - 0x7f1]
xor eax, edx
xor eax, 0xab69605e
mov dword [ebp - 0xab0], eax
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xab0]
shr eax, 2
add edx, eax
xor esi, edx
lea eax, [esi - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, esi
rol eax, 7
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
mov edx, eax
xor eax, 0x137f
ror edx, 9
imul eax, eax, 0x605e
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 7
add edx, eax
xor dword [ebp - 0xab0], edx
mov edx, dword [ebp - 0xab0]
xor esi, edx
xor esi, 0xac987321
mov eax, esi
ror eax, 3
imul eax, eax, 0x137f
sub eax, 0xd0dd417
xor edx, eax
mov dword [ebp - 0xab0], edx
lea eax, [edx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xab0]
ror eax, 6
sub edx, eax
xor esi, edx
lea eax, [esi - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, esi
rol eax, 0xe
add edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov dword [ebp - 0xab0], eax
add eax, 0xab69605e
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, dword [ebp - 0xab0]
ror eax, 0xe
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0x605e
imul edx, eax, 0xab69
mov eax, esi
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0xab0]
xor eax, edx
mov edx, 0x7f1137f
mov dword [ebp - 0xab0], eax
xor eax, edx
rol eax, 4
imul edx, eax, 0x605e
mov eax, dword [ebp - 0xab0]
rol eax, 2
xor edx, eax
mov eax, dword [ebp - 0xab0]
xor edx, dword [ebp - 0xad0]
xor eax, dword [ebp - 0xad8]
xor esi, edx
mov edx, esi
mov dword [ebp - 0xaac], esi
mov esi, dword [ebp - 0xae0]
mov dword [ebp - 0xad8], edi
mov edi, dword [ebp - 0xac0]
mov dword [ebp - 0xad0], ebx
mov byte [esi - 4], dl
mov byte [esi], al
ror edx, 8
mov byte [esi - 5], dl
ror eax, 8
mov byte [esi - 1], al
ror edx, 8
mov byte [esi - 6], dl
ror eax, 8
mov byte [esi - 2], al
ror edx, 8
ror eax, 8
mov byte [esi - 7], dl
mov byte [esi - 3], al
add esi, 8
ror eax, 8
ror edx, 8
sub dword [ebp - 0xaf0], 1
mov dword [ebp - 0xae0], esi
mov esi, eax
mov dword [ebp - 0xab0], eax
jne 0x40c78d
mov esi, dword [ebp - 0xacc]
xor eax, eax
xor cl, byte [eax + esi]
inc eax
cmp eax, 0x338
jb 0x40cb10
movzx eax, cl
cdq
cmp eax, dword [0x4033b0]
jne 0x40cb42
cmp edx, dword [0x4033b4]
jne 0x40cb42
mov ebx, esi
xor eax, eax
mov dword [ebp - 0xac8], ebx
mov esi, eax
mov edi, 0x337
jmp 0x40cb57
mov ebx, dword [ebp - 0xac8]
or edi, 0xffffffff
mov dword [ebp - 0xaf4], 0xc004d501
xor eax, eax
test esi, esi
je 0x40cb6a
push esi
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
cmp dword [ebp - 0xaf4], 0
jl 0x40cd14
xor eax, eax
mov esi, ebx
push 0x40
push eax
push 0x43faf0
mov byte [edi + ebx], al
call fcn.0043a6ff
add esp, 0xc
cmp byte [ebx], 0
je 0x40ccaa
mov edi, 0x43faf0
mov ecx, esi
mov edx, esi
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xb08]
jne 0x40cba3
sub ecx, ebx
xor ebx, ebx
push edi
sar ecx, 1
push edx
push ebx
lea esi, [esi + ecx*2]
call dword [0x441144]
test eax, eax
je 0x40cd0d
mov eax, dword [edi]
mov edx, 0x5a4d
mov ecx, ebx
mov dword [ebp - 0xabc], ecx
cmp word [eax], dx
je 0x40cbed
mov ecx, 0xc000007b
mov dword [ebp - 0xabc], ecx
jmp 0x40cc35
mov edx, dword [eax + 0x3c]
cmp edx, 0x10000000
jae 0x40cbe0
add edx, dword [edi]
cmp edx, dword [edi]
jb 0x40cbe0
cmp dword [edx], 0x4550
jne 0x40cbe0
movzx eax, word [edx + 0x18]
cmp ax, word [ebp - 0xb6c]
je 0x40cc23
cmp ax, word [ebp - 0xb50]
je 0x40cc23
mov ecx, 0xc000000d
jmp 0x40cbe5
mov eax, dword [edx + 0x78]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x7c]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x50]
mov dword [edi + 4], eax
mov eax, dword [esi + 2]
add esi, 6
mov dword [ebp - 0xb28], eax
test eax, eax
je 0x40cc9e
mov edx, esi
mov dword [ebp - 0xae8], esi
lea eax, [edx + 1]
mov dword [ebp - 0xacc], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40cc56
sub edx, dword [ebp - 0xacc]
inc esi
add esi, edx
test ecx, ecx
js 0x40cc8f
push dword [ebp - 0xae8]
push dword [edi]
call dword [0x441124]
test eax, eax
je 0x40ccaa
mov ecx, dword [ebp - 0xac4]
mov dword [ecx*4 + 0x43f090], eax
mov ecx, dword [ebp - 0xabc]
inc dword [ebp - 0xac4]
inc ebx
cmp ebx, dword [ebp - 0xb28]
jb 0x40cc45
add edi, 0x10
cmp byte [esi], 0
jne 0x40cb9c
mov ebx, dword [ebp - 0xabc]
mov esi, dword [ebp - 0xac8]
test esi, esi
je 0x40cccb
push esi
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
jns 0x40cd21
xor ebx, ebx
mov esi, ebx
mov eax, dword [esi + 0x43faf0]
test eax, eax
je 0x40cce4
push eax
call dword [0x441108]
add esi, 0x10
cmp esi, 0x40
jb 0x40ccd3
push 0x40
push ebx
push 0x43faf0
call fcn.0043a6ff
add esp, 0xc
mov esi, 0x401480
mov edi, 0x43f090
push 0x2e
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x40cd2e
mov ebx, 0xc000007a
jmp 0x40ccb0
mov esi, dword [ebp - 0xac8]
mov ebx, 0xc000007a
jmp 0x40ccb6
mov eax, dword [0x4401b8]
xor ebx, ebx
inc eax
mov dword [0x4401b8], eax
xor eax, eax
mov ecx, 0x4401bc
xchg dword [ecx], eax
push 0x54
lea eax, [ebp - 0x7b4]
push ebx
push eax
call fcn.0043a6ff
xor eax, eax
mov esi, dword [0x43f10c]
lea edi, [ebp - 0x354]
add esp, 0xc
stosd dword es:[edi], eax
push 0xf
stosd dword es:[edi], eax
pop edx
push 0x403
push ebx
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
mov eax, dword [ebp - 0xb48]
mov ecx, eax
and ecx, edx
mov dword [ebp - 0xadc], ecx
mov ecx, eax
shr ecx, 4
and ecx, edx
mov word [ebp - 0xc], cx
mov ecx, eax
shr ecx, 8
and ecx, edx
shr eax, 0xc
mov word [ebp - 0xa], cx
and eax, edx
mov ecx, esi
mov word [ebp - 8], ax
call dword [0x4415fc]
call esi
mov dword [ebp - 0xac8], eax
mov dword [ebp - 0xad4], 0xffffff
test eax, eax
jne 0x40cdd9
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40cdc9
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40e209
mov ebx, 0x80004005
jmp 0x40e209
mov esi, dword [0x43f0e0]
lea eax, [ebp - 0xba8]
push eax
xor ecx, ecx
mov dword [ebp - 0xba4], ebx
push ecx
lea eax, [ebp - 0xb94]
mov dword [ebp - 0xba8], ecx
push eax
push 8
mov ecx, esi
mov dword [ebp - 0xb98], ebx
mov dword [ebp - 0xb24], ebx
mov dword [ebp - 0xb60], ebx
mov dword [ebp - 0xb7c], ebx
mov dword [ebp - 0xb78], ebx
mov dword [ebp - 0xaac], ebx
call dword [0x4415fc]
call esi
test eax, eax
jne 0x40ce69
call dword [0x441120]
mov ebx, eax
mov dword [ebp - 0xaac], ebx
test ebx, ebx
jle 0x40ce53
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0xaac], ebx
test ebx, ebx
js 0x40cfb5
mov ebx, 0x80004005
mov dword [ebp - 0xaac], ebx
jmp 0x40cfb5
mov eax, dword [ebp - 0xba8]
add eax, eax
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
lea ecx, [ebp - 0xb7c]
mov esi, eax
call fcn.0042902c
test esi, esi
jne 0x40cea2
xor eax, eax
mov dword [ebp - 0xb7c], eax
mov ebx, 0x8007000e
jmp 0x40ce5e
mov eax, dword [ebp - 0xb94]
mov dword [ebp - 0xb7c], esi
lea eax, [eax*4 + 4]
push eax
xor eax, eax
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
lea ecx, [ebp - 0xb78]
mov esi, eax
call fcn.0042902c
test esi, esi
jne 0x40cee1
xor eax, eax
mov dword [ebp - 0xb78], eax
jmp 0x40ce9b
lea eax, [ebp - 0xba8]
mov dword [ebp - 0xb78], esi
mov esi, dword [0x43f0e0]
mov ecx, esi
push eax
push dword [ebp - 0xb7c]
lea eax, [ebp - 0xb94]
push eax
push 8
call dword [0x4415fc]
call esi
test eax, eax
je 0x40ce30
mov edi, dword [ebp - 0xb7c]
xor ecx, ecx
mov eax, dword [ebp - 0xb78]
mov dword [ebp - 0xad0], ecx
cmp dword [ebp - 0xb94], ecx
jbe 0x40cf90
mov ebx, eax
mov esi, dword [0x43f0e8]
push ecx
push edi
mov ecx, esi
call dword [0x4415fc]
call esi
mov ecx, edi
mov dword [ebx], eax
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x40cf4e
mov eax, dword [ebp - 0xad0]
sub ecx, edx
sar ecx, 1
add ebx, 4
push 0
lea edi, [edi + ecx*2]
add edi, 2
inc eax
mov dword [ebp - 0xad0], eax
pop ecx
cmp eax, dword [ebp - 0xb94]
jb 0x40cf33
mov dword [ebp - 0xac4], ebx
mov ebx, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xac4]
mov dword [eax], 0x409
mov eax, dword [ebp - 0xb78]
mov dword [ebp - 0xba4], eax
mov eax, dword [ebp - 0xb94]
inc eax
mov dword [ebp - 0xb78], ecx
mov dword [ebp - 0xad0], eax
lea ecx, [ebp - 0xb78]
call fcn.0042902c
lea ecx, [ebp - 0xb7c]
call fcn.0042902c
test ebx, ebx
js 0x40d729
xor ecx, ecx
mov ebx, ecx
mov esi, ecx
mov dword [ebp - 0xac4], ebx
cmp dword [ebp - 0xad0], ecx
jbe 0x40d018
mov eax, dword [ebp - 0xba4]
mov edx, ecx
mov ecx, dword [eax + esi*4]
cmp ecx, dword [edx*4 + 0x402c80]
je 0x40d00e
inc edx
cmp edx, 0x26
jb 0x40cfef
inc esi
xor ecx, ecx
cmp esi, dword [ebp - 0xad0]
jae 0x40d018
jmp 0x40cfed
mov ebx, edx
xor ecx, ecx
mov dword [ebp - 0xac4], ebx
mov esi, dword [0x43f0e4]
lea eax, [ebp - 0xb8]
push ecx
push 0x55
push eax
push dword [ebx*4 + 0x402c80]
mov dword [ebp - 0xaf4], ecx
mov ecx, esi
call dword [0x4415fc]
call esi
test eax, eax
je 0x40d081
mov esi, dword [0x43f0d8]
lea eax, [ebp - 0x684]
push 0x10
push eax
push 0x58
lea eax, [ebp - 0xb8]
mov ecx, esi
push eax
call dword [0x4415fc]
call esi
test eax, eax
jle 0x40d081
mov ebx, dword [ebp - 0x678]
shr ebx, 0x1b
and ebx, 1
mov dword [ebp - 0xaf4], ebx
mov ebx, dword [ebp - 0xac4]
xor eax, eax
mov edx, 0x402d98
mov esi, eax
mov ecx, edx
mov dword [ebp + esi*4 - 0x344], edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xb08]
jne 0x40d096
sub ecx, edi
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc esi
cmp esi, 0x13
jb 0x40d08a
imul ecx, ebx, 3
movzx eax, byte [ecx + 0x402d18]
mov eax, dword [ebp + eax*4 - 0x344]
mov dword [ebp - 0xb58], eax
movzx eax, byte [ecx + 0x402d19]
mov eax, dword [ebp + eax*4 - 0x344]
mov dword [ebp - 0xb00], eax
movzx eax, byte [ecx + 0x402d1a]
mov eax, dword [ebp + eax*4 - 0x344]
mov dword [ebp - 0xaec], eax
xor ebx, ebx
push 0x1c90
push ebx
mov dword [ebp - 0xaac], ebx
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ecx, eax
mov dword [ebp - 0xae8], ecx
test ecx, ecx
jne 0x40d125
mov ebx, 0x8007000e
jmp 0x40d723
or dword [ebp - 0xad8], 0xffffffff
mov edx, 0xab69605e
mov dword [ebp - 0x4d8], edx
add ecx, 7
mov edx, 0x7f1137f
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0x4d4], edx
mov al, bl
mov dword [ebp - 0xab4], ebx
mov edx, ebx
mov dword [ebp - 0xae0], ecx
mov esi, 0x4033ba
mov dword [ebp - 0xaf0], 0x392
movzx ebx, byte [esi - 2]
movzx ecx, byte [esi - 1]
movzx edi, byte [esi + 2]
shl ebx, 8
or ebx, ecx
shl edi, 8
movzx ecx, byte [esi]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi + 1]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [esi + 3]
or edi, ecx
xor edx, ebx
movzx ecx, byte [esi + 4]
shl edi, 8
or edi, ecx
mov dword [ebp - 0xab0], edx
movzx ecx, byte [esi + 5]
add esi, 8
mov dword [ebp - 0xacc], esi
shl edi, 8
or edi, ecx
mov esi, edi
xor esi, dword [ebp - 0xab4]
xor esi, edx
xor esi, 0xac987321
lea ecx, [esi + 0x54969fa2]
rol ecx, 5
imul edx, ecx, 0x137f
mov ecx, esi
rol ecx, 0xa
add edx, ecx
mov ecx, dword [ebp - 0xab0]
xor ecx, edx
mov dword [ebp - 0xab0], ecx
add ecx, 0x7f1137f
ror ecx, 9
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0xab0]
rol ecx, 2
sub edx, ecx
xor esi, edx
imul edx, esi, 0x605e
mov ecx, esi
shr ecx, 0xd
sub edx, ecx
mov ecx, dword [ebp - 0xab0]
sub edx, 0x756c8a2
xor ecx, edx
mov dword [ebp - 0xab0], ecx
xor ecx, 0xab69
rol ecx, 6
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0xab0]
rol ecx, 2
sub edx, ecx
mov ecx, 0x7f1137f
xor esi, edx
mov edx, esi
xor edx, 0xab69605e
sub ecx, edx
mov edx, dword [ebp - 0xab0]
xor edx, ecx
mov dword [ebp - 0xab0], edx
mov ecx, dword [ebp - 0xab0]
xor ecx, 0x137f
ror edx, 6
imul ecx, ecx, 0xab69
xor edx, ecx
xor esi, edx
lea ecx, [esi + 0x7f1137f]
ror ecx, 0xf
imul edx, ecx, 0x605e
mov ecx, esi
rol ecx, 2
add edx, ecx
mov ecx, dword [ebp - 0xab0]
xor ecx, edx
mov dword [ebp - 0xab0], ecx
add ecx, 0x54969fa2
ror ecx, 0xe
imul edx, ecx, 0x7f1
mov ecx, dword [ebp - 0xab0]
rol ecx, 8
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, 0xab69605e
ror ecx, 0xc
imul edx, ecx, 0x137f
mov ecx, esi
ror ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0xab0]
xor ecx, edx
mov dword [ebp - 0xab0], ecx
xor ecx, 0x7f1
imul edx, ecx, 0xab69
mov ecx, dword [ebp - 0xab0]
shr ecx, 0xa
xor edx, ecx
xor edx, esi
mov esi, dword [ebp - 0xab0]
mov ecx, edx
not ecx
ror ecx, 5
add ecx, 0x605e
imul ecx, ecx, 0x7f1
xor esi, ecx
lea ecx, [esi - 0x7f1]
xor ecx, edx
xor ecx, 0xab69605e
mov dword [ebp - 0xab4], ecx
xor ecx, 0x7f1
rol ecx, 2
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0xab4]
shr ecx, 2
add edx, ecx
xor esi, edx
lea ecx, [esi - 0x7f1137f]
ror ecx, 6
imul edx, ecx, 0xab69
mov ecx, esi
rol ecx, 7
add edx, ecx
mov ecx, dword [ebp - 0xab4]
xor ecx, edx
mov dword [ebp - 0xab4], ecx
mov edx, ecx
xor ecx, 0x137f
ror edx, 9
imul ecx, ecx, 0x605e
add edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, 0xab69
rol ecx, 5
imul edx, ecx, 0x7f1
mov ecx, esi
rol ecx, 7
add edx, ecx
xor dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0xab4]
xor esi, edx
xor esi, 0xac987321
mov ecx, esi
ror ecx, 3
imul ecx, ecx, 0x137f
sub ecx, 0xd0dd417
xor edx, ecx
mov dword [ebp - 0xab4], edx
lea ecx, [edx - 0x7f1137f]
ror ecx, 1
imul edx, ecx, 0x605e
mov ecx, dword [ebp - 0xab4]
ror ecx, 6
sub edx, ecx
xor esi, edx
lea ecx, [esi - 0x54969fa2]
rol ecx, 3
imul edx, ecx, 0x7f1
mov ecx, esi
rol ecx, 0xe
add edx, ecx
mov ecx, dword [ebp - 0xab4]
xor ecx, edx
mov dword [ebp - 0xab4], ecx
add ecx, 0xab69605e
rol ecx, 0xf
imul edx, ecx, 0x137f
mov ecx, dword [ebp - 0xab4]
ror ecx, 0xe
sub edx, ecx
xor esi, edx
mov ecx, esi
xor ecx, 0x605e
imul edx, ecx, 0xab69
mov ecx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp - 0xab4]
xor ecx, edx
mov edx, 0x7f1137f
mov dword [ebp - 0xab4], ecx
xor ecx, edx
rol ecx, 4
imul edx, ecx, 0x605e
mov ecx, dword [ebp - 0xab4]
rol ecx, 2
xor edx, ecx
mov ecx, dword [ebp - 0xab4]
xor edx, dword [ebp - 0xad0]
xor ecx, dword [ebp - 0xad8]
xor esi, edx
mov edx, esi
mov dword [ebp - 0xab0], esi
mov esi, dword [ebp - 0xae0]
mov dword [ebp - 0xad0], ebx
mov dword [ebp - 0xad8], edi
mov byte [esi - 4], dl
mov byte [esi], cl
ror edx, 8
mov byte [esi - 5], dl
ror ecx, 8
mov byte [esi - 1], cl
ror edx, 8
mov byte [esi - 6], dl
ror ecx, 8
mov byte [esi - 2], cl
ror edx, 8
ror ecx, 8
mov byte [esi - 7], dl
mov byte [esi - 3], cl
add esi, 8
ror ecx, 8
ror edx, 8
sub dword [ebp - 0xaf0], 1
mov dword [ebp - 0xae0], esi
mov esi, dword [ebp - 0xacc]
mov dword [ebp - 0xab4], ecx
jne 0x40d16a
xor ecx, ecx
mov esi, 0x1c90
mov edx, ecx
mov ecx, dword [ebp - 0xae8]
xor al, byte [edx + ecx]
inc edx
cmp edx, esi
jb 0x40d4ea
movzx eax, al
cdq
cmp eax, dword [0x405048]
jne 0x40d51e
cmp edx, dword [0x40504c]
jne 0x40d51e
mov ebx, dword [ebp - 0xaac]
xor edx, edx
mov dword [ebp - 0xb98], ecx
mov ecx, edx
mov dword [ebp - 0xb24], esi
jmp 0x40d52b
mov ebx, 0xc004d501
xor edx, edx
mov dword [ebp - 0xaac], ebx
test ecx, ecx
je 0x40d53e
push ecx
push edx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
test ebx, ebx
js 0x40d729
mov edi, dword [ebp - 0xb98]
xor eax, eax
mov ebx, dword [ebp - 0xac4]
mov esi, eax
mov edx, eax
cmp ebx, edx
jne 0x40d563
mov dword [ebp + esi*4 - 0x2f8], edi
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0xacc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d56e
sub ecx, dword [ebp - 0xacc]
inc edi
add edi, ecx
inc edx
cmp edx, 0x26
jb 0x40d558
inc esi
push 0
pop eax
cmp esi, 6
jb 0x40d556
push 0xc
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
lea ecx, [ebp - 0xb60]
mov edi, eax
call fcn.0042902c
mov ebx, dword [ebp - 0xaac]
test edi, edi
jne 0x40d5cc
xor edx, edx
mov dword [ebp - 0xb60], edx
mov ebx, 0x8007000e
mov dword [ebp - 0xaac], ebx
jmp 0x40d72b
mov dword [ebp - 0xb60], edi
lea ecx, [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0xad0], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, eax
movzx edx, word [ecx]
cmp dx, word [eax*2 + 0x402d8c]
je 0x40d5fc
inc eax
cmp eax, 6
jb 0x40d5e7
jmp 0x40d6bf
mov edx, dword [ebp + eax*4 - 0x2f8]
mov ecx, edx
mov dword [ebp - 0xacc], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d60e
xor eax, eax
sub ecx, esi
mov esi, dword [0x43f0f0]
push eax
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
push edx
xor eax, eax
push eax
push 0xfde9
call dword [0x4415fc]
call esi
mov esi, eax
test esi, esi
je 0x40d6f9
lea ecx, [esi + esi]
xor eax, eax
push ecx
push eax
call dword [0x4411bc]
push eax
call dword [0x4411b8]
mov ecx, dword [ebp - 0xb60]
xor edx, edx
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0xb60]
cmp dword [eax + edi], edx
je 0x40d5bc
mov edx, dword [ebp - 0xacc]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xacc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d681
sub ecx, dword [ebp - 0xacc]
mov eax, dword [ebp - 0xb60]
push esi
mov esi, dword [0x43f0f0]
push dword [eax + edi]
lea eax, [ecx + 1]
mov ecx, esi
push eax
push edx
xor eax, eax
push eax
push 0xfde9
call dword [0x4415fc]
call esi
test eax, eax
je 0x40d6f9
mov ecx, dword [ebp - 0xad0]
add ecx, 2
add edi, 4
mov dword [ebp - 0xad0], ecx
push 0
pop eax
cmp edi, 0xc
jb 0x40d5e4
mov eax, dword [ebp - 0xb60]
xor edx, edx
mov dword [ebp - 0xb9c], eax
mov eax, dword [ebp - 0xaf4]
mov dword [ebp - 0xb60], edx
mov dword [ebp - 0x7b4], eax
jmp 0x40d72b
call dword [0x441120]
mov ebx, eax
mov dword [ebp - 0xaac], ebx
test ebx, ebx
jle 0x40d71c
movzx ebx, bx
or ebx, 0x80070000
mov dword [ebp - 0xaac], ebx
test ebx, ebx
js 0x40d729
mov ebx, 0x80004005
mov dword [ebp - 0xaac], ebx
xor edx, edx
cmp dword [ebp - 0xb60], 0
je 0x40d79b
mov esi, edx
mov eax, dword [ebp - 0xb60]
cmp dword [eax + esi], edx
je 0x40d78d
mov ecx, dword [eax + esi]
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40d749
mov eax, dword [ebp - 0xb60]
sub ecx, edx
sar ecx, 1
mov eax, dword [eax + esi]
lea ecx, [ecx*2 + 2]
test ecx, ecx
je 0x40d774
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x40d76c
mov eax, dword [ebp - 0xb60]
push dword [eax + esi]
push ebx
call dword [0x4411bc]
push eax
call dword [0x4411a4]
xor edx, edx
add esi, 4
cmp esi, 0xc
jb 0x40d736
mov ebx, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xb98]
test eax, eax
je 0x40d7b7
mov ecx, dword [ebp - 0xb24]
test ecx, ecx
je 0x40d7b7
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x40d7af
lea ecx, [ebp - 0xb60]
call fcn.0042902c
lea ecx, [ebp - 0xb98]
call fcn.0042902c
lea ecx, [ebp - 0xba4]
call fcn.0042902c
test ebx, ebx
js 0x40e1f0
mov eax, dword [ebp - 0xb9c]
mov esi, dword [0x43f144]
mov ecx, dword [eax]
mov dword [ebp - 0x7ac], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7a8], ecx
xor ecx, ecx
mov eax, dword [eax + 8]
mov edi, ecx
push ecx
mov dword [ebp - 0x7a4], eax
mov ebx, ecx
lea eax, [ebp - 0xc20]
mov dword [ebp - 0xc1c], ecx
push eax
push ecx
mov dword [ebp - 0xc18], ecx
mov ecx, esi
push 0x42
mov dword [ebp - 0xc20], 0xc
call dword [0x4415fc]
call esi
test eax, eax
jne 0x40d85b
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40d852
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40d864
mov ebx, 0x80004005
jmp 0x40d864
mov edi, dword [ebp - 0xc1c]
and edi, 1
mov dword [ebp - 0x7b0], edi
test ebx, ebx
js 0x40e1f0
mov edi, dword [ebp - 0xadc]
mov eax, edi
push 0x2a
pop ecx
mov dword [ebp - 0xb54], ecx
sub eax, 1
je 0x40d8b1
sub eax, 1
je 0x40d8a5
sub eax, 1
jne 0x40d8c1
mov ebx, 0xe1
mov dword [ebp - 0xb04], ebx
mov dword [ebp - 0xb5c], ebx
jmp 0x40d8c1
mov dword [ebp - 0xb04], 0xf
jmp 0x40d8b7
mov dword [ebp - 0xb04], ecx
mov dword [ebp - 0xb5c], 0xb
mov esi, 0xdc
mov dword [ebp - 0xac0], 0x60
push esi
xor ebx, ebx
lea eax, [ebp - 0x760]
push ebx
push eax
call fcn.0043a6ff
add esp, 0xc
mov word [ebp - 0x71c], si
mov esi, dword [0x43f100]
lea eax, [ebp - 0x760]
mov ecx, esi
push eax
push 0xffffffffffffffff
push ebx
call dword [0x4415fc]
call esi
test eax, eax
je 0x40d9b9
mov eax, dword [ebp - 0x6b4]
movzx ebx, word [ebp - 0x6ba]
mov ecx, dword [ebp - 0x6b0]
push 0x60
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0x4c8], eax
pop eax
mov dword [ebp - 0xac0], ebx
mov dword [ebp - 0xad0], ecx
mov dword [ebp - 0x4c4], ecx
cmp ebx, eax
jae 0x40d94a
mov dword [ebp - 0xac0], eax
xor ebx, ebx
cmp edi, 1
mov edi, dword [ebp - 0xb58]
je 0x40d95d
mov edi, dword [ebp - 0xaec]
push 0x5c
lea eax, [ebp - 0x5ac]
push ebx
push eax
call fcn.0043a6ff
mov esi, dword [0x43f10c]
add esp, 0xc
xor eax, eax
mov ecx, esi
push 0x403
push eax
push eax
call dword [0x4415fc]
call esi
mov dword [ebp - 0xacc], eax
test eax, eax
jne 0x40d9d6
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40d9a9
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40da76
mov ebx, 0x80004005
jmp 0x40e1f0
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0xac4], eax
jmp 0x40d94c
mov esi, dword [0x43f0ec]
mov ecx, esi
push 0x48
push dword [ebp - 0xac0]
push dword [ebp - 0xb04]
call dword [0x4415fc]
call esi
push edi
push 0x20
neg eax
mov dword [ebp - 0x59c], 0x190
pop edx
lea ecx, [ebp - 0x590]
mov dword [ebp - 0x5ac], eax
mov byte [ebp - 0x592], 5
call fcn.00428eb9
mov esi, dword [0x43f0a0]
lea eax, [ebp - 0x5ac]
push eax
mov ecx, esi
call dword [0x4415fc]
call esi
test eax, eax
jne 0x40da57
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40da4e
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40da5d
mov ebx, 0x80004005
jmp 0x40da5d
mov dword [ebp - 0x7a0], eax
push dword [ebp - 0xacc]
mov esi, dword [0x43f140]
xor eax, eax
push eax
mov ecx, esi
call dword [0x4415fc]
call esi
test ebx, ebx
js 0x40e1f0
cmp dword [ebp - 0xadc], 1
je 0x40da93
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0xb58], eax
xor eax, eax
push 0x5c
push eax
lea eax, [ebp - 0x608]
push eax
call fcn.0043a6ff
mov esi, dword [0x43f10c]
add esp, 0xc
xor eax, eax
mov ecx, esi
mov ebx, eax
push 0x403
push eax
push eax
call dword [0x4415fc]
call esi
mov edi, eax
test edi, edi
jne 0x40daea
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40dadf
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40db8a
jmp 0x40d9af
mov esi, dword [0x43f0ec]
mov ecx, esi
push 0x48
push dword [ebp - 0xac0]
push dword [ebp - 0xb5c]
call dword [0x4415fc]
call esi
push dword [ebp - 0xb58]
neg eax
mov dword [ebp - 0x5f8], 0x190
push 0x20
pop edx
lea ecx, [ebp - 0x5ec]
mov dword [ebp - 0x608], eax
mov byte [ebp - 0x5ee], 5
call fcn.00428eb9
mov esi, dword [0x43f0a0]
lea eax, [ebp - 0x608]
push eax
mov ecx, esi
call dword [0x4415fc]
call esi
test eax, eax
jne 0x40db70
call dword [0x441120]
mov ebx, eax
test ebx, ebx
jle 0x40db67
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x40db76
mov ebx, 0x80004005
jmp 0x40db76
mov dword [ebp - 0x79c], eax
mov esi, dword [0x43f140]
xor eax, eax
push edi
push eax
mov ecx, esi
call dword [0x4415fc]
call esi
test ebx, ebx
js 0x40e1f0
mov ebx, dword [ebp - 0xadc]
xor eax, eax
mov ecx, eax
mov edx, eax
mov eax, ebx
sub eax, 1
je 0x40dbaf
sub eax, 1
je 0x40dbef
sub eax, 1
jne 0x40dbbb
mov ecx, dword [ebp - 0xac4]
mov edx, dword [ebp - 0xad0]
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x348], edx
xor edx, edx
inc edx
cmp ebx, edx
je 0x40dc31
lea eax, [ebx - 2]
xor ebx, ebx
cmp eax, edx
ja 0x40dc05
mov eax, ebx
mov dword [ebp - 0xb54], ebx
mov edx, ebx
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xb04], ebx
jmp 0x40dc4a
mov eax, dword [ebp - 0xac4]
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
xor ecx, dword [ebx - 0x5f09149e]
push ss
int3
push eax
invalid
or ch, byte [ecx + 0x19]
popal
sbb eax, 0xc23c3207
lcall 0x3137, 0x77eba516
mov eax, 0xa1194276
xor dword [eax + ebx], edx
lahf
out 3, al
mov al, 0x22
dec esi
lahf
sub byte [ebx], al
add ch, cl
lodsb al, byte [esi]
and eax, 0xd1705ab4
dec edx
loope 0x40dc4a
imul edx, edi, 0x77
salc
stosb byte es:[edi], al
adc dword [edi + 0x2d], esi
mov byte [0x3f8ae21], al
pop ss
sub esi, dword [edx - 0x29]
inc ebx
sar edx, cl
fsubrp st(7)
ror dword [ebx + 0xa], 7
or al, byte [edi]
cmp bl, byte [ebx + 0x6cd4c04c]
enter 0xfffffffffffff730, 0xfffffffffffffffb
outsb dx, byte [esi]
sub edi, esp
xor al, byte [esi - 0x5d]
int 0x6c
mov esi, 0x96f0c520
adc byte [ebp - 0x7f], 0xc3
lcall 0x1d4e, 0xc909710b
test byte [edi + 0x22], bh
stosb byte es:[edi], al
inc edx
test al, 0x8a
js 0x40dce0
shl dword [edx - 0x23fc9bd7], 0x69
retf
imul edx, dword [esi + 0x39bb53de], 0x69
jns 0x40dd19
mov bl, 0x9e
sbb al, 0
mov byte [0x8d4a717a], al
cmp eax, dword [eax - 0xc0a0d1d]
in al, dx
dec esp
shr dword [edi - 0x33783a9d], 0xbf
je 0x40dd1b
dec ecx
ja 0x40dc8e
push ebx
lcall 0x3ca8, 0x9f5c6437
jne 0x40dd74
mov al, byte [0xd239c071]
pop edx
xchg esp, eax
retf 0xf0a8
idiv byte gs:[edx]
idiv byte [edx]
idiv byte [edx]
dec eax
nop
mov bl, 0xe0
jle 0x40dd35
jg 0x40dd1c
inc esp
fist dword [ebx + ebx*4 + 0x4cc7ddd4]
clc
test al, 0xd9
invalid
push 0xffffffffffffffaa
and ebp, dword [ebx - 0x69]
invalid
cmp dh, byte [edi]
push es
arpl cx, cx
pushal
adc al, 0xbc
xchg edi, eax
mov dword [0xa0908f42], eax
loope 0x40dd6b
push 0x72a11df7
test al, 0xe1
cmp ebp, eax
lodsb al, byte [esi]
sbb eax, 0xb3926f13
adc al, 0xbb
jmp [ebp - 0x12bbff08]
scasd eax, dword es:[edi]
arpl word [edi + 0x116be065], sp
pop ds
sbb al, 0xb8
adc dword [esi + 0x6f], eax
imul esp, dword [ebp + 0x3e2b2f2f], 0xfffffff9
iretd
sbb eax, dword [ecx + 0x16df76c0]
mov esi, 0x6ce811f9
mov es, word [edx - 0x356d22de]
movsd dword es:[edi], dword [esi]
dec ebp
fisubr dword [ecx + 0x5ea437b8]
xor al, cl
sbb eax, 0x22af362
and edi, dword [edx + 0x7bb434c5]
mov bh, byte [ecx + 0x43b22cd9]
aas
pop edi
invalid
invalid
in al, dx
add eax, 0xe4ae91c
jne 0x412246
dec edi
aas
dec edi
cmp byte [ecx - 0x3b], bl
pop esp
mov word [edi + 0x32b3bd3], cs
inc edx
inc esp
ret 0xb332
adc esp, esp
call 0xfbc200bd
jo 0x4122a5
test byte [edi + 0x3488bbbc], 0x61
scasd eax, dword es:[edi]
mov ebx, 0xaf613488
ror ecx, cl
inc esi
in al, 0xf6
push esi
wait
rcr byte [eax], 1
sbb edi, dword [edi + 0x38]
push 0xf0317674
mov esp, 0xc19ed79f
stosd dword es:[edi], eax
jecxz 0x41225c
add ebp, dword [edx]
mov ebp, 0xe25d5533
test byte [ecx + ebx*4], 0xc3
mov eax, 0x39217e6f
out 0x4d, eax
je 0x4122f3
or al, 0x99
ret
inc ebp
lds ebx, [ebx - 0x490c202]
outsd dx, dword [esi]
je 0x41224c
dec esi
sbb byte [edi + ebp + 0x58], dh
movsb byte es:[edi], byte [esi]
mov dh, 0x7d
sub eax, 0xcabeb507
mov ebp, 0x92cd4066
inc edi
lcall 0x9ea2, 0x78d7df8c
fisubr word [ecx + 0x54d42ca8]
push edi
dec ecx
movsd dword es:[edi], dword [esi]
invalid
xchg dword ds:[edx], ebp
scasb al, byte es:[edi]
jp 0x41231a
mov bl, byte [eax + 0x229617a4]
retf 0x7733
xor esi, dword [edi + 0x6f]
jecxz 0x41232c
jo 0x41230d
movsd dword es:[edi], dword [esi]
jb 0x412300
xchg ebp, eax
dec esp
jmp 0x30dd303b
push edi
loopne 0x41236a
add byte [esi + 0x49833684], dh
lea esi, [ecx]
or dword ss:[ecx - 0x73], 0x31
cld
out 0x3d, al
lcall 0x1fe5, 0x43a272dd
cmp eax, 0xa272dd9a
fnsave dword [edx - 0x5e]
inc ebx
in eax, 0x1f
sub byte [edi - 0x4f27a3f0], 0xa7
jbe 0x412313
pop esp
fdiv dword [eax - 0x1f178959]
loopne 0x412330
add esp, dword [eax + 0x396bb415]
mov al, byte [0x396bb415]
imul edi, dword [ecx], 0xffffff9f
lahf
invalid
rcl dword [eax - 0x67], cl
and ch, dh
xchg edi, eax
loopne 0x41231c
pop es
sbb byte [edx], 0x7b
cmp al, 0x57
jl 0x4122e6
pushfd
mov dh, 0xf5
shr dword [ebx + 0x744b4449], cl
invalid
les edi, [edx + 0x477080aa]
rcl dword [ebp - 0x39], cl
sahf
mov dh, al
or byte [ebx - 0x4a], al
jp 0x4123e8
push ebp
invalid
pop esi
popfd
cmpsb byte [esi], byte es:[edi]
outsd dx, dword [esi]
pop ds
jae 0x41233c
or byte [ecx], 0xd
dec esi
fdivr dword [edi - 0x3e]
sti
pop dword [esi + ebp - 0x57]
and dword [0x5e1b8281], edx
in eax, dx
jno 0x412325
loopne 0x41231c
adc al, 0x9a
in eax, 0xbd
push esi
imul edx, dword [eax], 0xffffffa5
outsd dx, dword [esi]
ror dword [edi - 0x6d], cl
inc ebp
mov ebp, 0x4d697899
salc
or dword [eax], 0xd68680e2
stosd dword es:[edi], eax
inc eax
loope 0x4123eb
mov ch, 0x90
ror dword [ecx], 1
pushfd
dec eax
shl byte [ebp - 0x61bf6c4c], cl
invalid
push edx
xchg ebp, eax
dec eax
jno 0x412371
invalid