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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov dword [esp + 0xac], 0
lea eax, [esp + 0xac]
push eax
call sub.iphlpapi.dll_GetIfTable2
test eax, eax
je 0x42c353
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x42c3c8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
movdqa xmm0, xmmword [ecx]
lea edx, [ecx + 0x10]
pmovmskb esi, xmm0
not esi
jmp 0x42c39b
lea edi, [esi - 1]
and edi, esi
tzcnt esi, esi
neg esi
lea esi, [esi + esi*8]
shl esi, 4
dec eax
mov byte [ecx + esi - 6], 0
mov esi, edi
je 0x42c3c8
test si, si
jne 0x42c380
movdqa xmm0, xmmword [edx]
add ecx, 0xfffff700
add edx, 0x10
pmovmskb esi, xmm0
cmp esi, 0xffff
je 0x42c3a0
mov ebx, 0xfffffffe
sub ebx, esi
not esi
mov edi, esi
and edi, ebx
jmp 0x42c385
xor ecx, ecx
call fcn.0042b680
test eax, eax
je 0x42d8d4
movdqu xmm0, xmmword [eax]
movq xmm3, qword [0x572498]
movq xmm2, qword [0x572490]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 4
movq qword [esp + 0xc8], xmm3
movq qword [esp + 0xc0], xmm2
movdqu xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 4], ecx
je 0x42cdde
lea edi, [eax + 8]
xor esi, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], edi
jmp 0x42c47b
push 2
push 0x14
push dword [esp + 0x10]
call main
add esp, 0xc
nop word [eax + eax]
inc esi
cmp esi, dword [esp + 4]
je 0x42c6d5
imul eax, esi, 0x548
mov ecx, dword [edi + eax + 0x4a8]
lea ebx, [edi + eax]
or ecx, dword [edi + eax + 0x4ac]
jne 0x42c4a2
mov eax, dword [ebx + 0x4b0]
or eax, dword [ebx + 0x4b4]
je 0x42c470
cmp dword [ebx + 0x48c], 2
je 0x42c470
cmp dword [ebx + 0x420], 0
je 0x42c470
mov edi, dword [0x593ab0]
movzx eax, byte [edi]
push 2
push 0x14
call fcn.00409a80
add esp, 8
test eax, eax
je 0x42d883
movq xmm0, qword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
pxor xmm1, xmm1
punpcklbw xmm0, xmm1
mov dword [eax], ecx
movdqu xmmword [eax + 4], xmm0
movzx ecx, byte [edi]
push 2
push 0x14
mov edi, eax
call fcn.00409a80
add esp, 8
test eax, eax
mov dword [esp + 8], edi
je 0x42d872
mov ecx, dword [edi + 0x10]
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
mov dword [esp + 0x80], 0xa
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0xa
mov dword [eax + 0x10], ecx
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.004285c0
add esp, 0xc
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x58], 0
je 0x42c65d
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x60]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x14], eax
mov dword [esp + 0xb0], edi
mov ebx, edx
and ebx, edi
movdqu xmm0, xmmword [ecx + ebx]
pmovmskb eax, xmm0
test eax, eax
jne 0x42c5b4
mov edi, 0x10
nop word cs:[eax + eax]
nop
add ebx, edi
add edi, 0x10
and ebx, edx
movdqu xmm0, xmmword [ecx + ebx]
pmovmskb eax, xmm0
test eax, eax
je 0x42c5a0
tzcnt eax, eax
add eax, ebx
and eax, edx
movzx ebx, byte [ecx + eax]
test bl, bl
mov byte [esp + 0x10], bl
js 0x42c5dc
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
tzcnt eax, eax
movzx ebx, byte [ecx + eax]
mov byte [esp + 0x10], bl
mov ebx, dword [esp + 0x6c]
lea edi, [eax - 0x10]
and edi, edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x68]
shr edx, 0x19
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x70]
mov byte [ecx + eax], dl
mov byte [ecx + edi + 0x10], dl
movzx edx, byte [esp + 0x10]
shl eax, 4
and dl, 1
mov dword [esp + 0xb0], ebx
mov ebx, ecx
movzx edi, dl
mov edx, dword [esp + 0x14]
sub ebx, eax
neg eax
sub dword [edx + 8], edi
mov edi, dword [esp + 0x100]
mov dword [ebx - 0xc], edi
mov edi, dword [esp + 0xf0]
mov dword [ebx - 0x10], edi
mov edi, dword [esp + 0xb0]
mov dword [ecx + eax - 8], edi
mov edi, dword [esp + 0x1c]
mov dword [ebx - 4], 0
inc dword [edx + 0xc]
jmp 0x42c680
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
test eax, 0x7fffffff
je 0x42c680
add eax, eax
push 2
push eax
push dword [esp + 0x68]
call main
add esp, 0xc
nop dword [eax]
mov eax, dword [ebx - 4]
inc eax
cmp eax, 1
mov dword [ebx - 4], eax
jg 0x42c45a
mov ebx, dword [esp + 0x30]
cmp ebx, dword [esp + 0x28]
jne 0x42c6a7
lea eax, [esp + 0x28]
push eax
call fcn.00422f10
add esp, 4
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 8]
mov ecx, ebx
inc ebx
shl ecx, 4
mov dword [eax + ecx], esi
mov dword [eax + ecx + 4], 0xa
mov dword [eax + ecx + 8], edx
mov dword [eax + ecx + 0xc], 0xa
mov dword [esp + 0x30], ebx
jmp 0x42c470
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov esi, eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x118], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x114], edx
shl esi, 4
add esi, edx
test eax, eax
mov dword [esp + 0x8c], esi
je 0x42cd85
mov eax, dword [esp + 0x114]
add dword [esp + 0x34], 0x24
mov dword [esp + 0x20], esi
jmp 0x42c73c
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x42cd7c
lea ecx, [eax + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 4]
cmp ecx, 0x80000000
je 0x42cd76
mov ebx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp dword [esp + 0xcc], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
je 0x42c8e0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.004261e0
add esp, 8
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x18], ebx
mov esi, edx
mov dword [esp + 0x140], ecx
and esi, eax
shr eax, 0x19
movd xmm0, eax
lea eax, [ecx - 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
add eax, eax
mov dword [esp + 0xb0], eax
xor eax, eax
movdqu xmm0, xmmword [ecx + esi]
mov dword [esp + 0xf0], eax
movdqa xmmword [esp + 0x100], xmm0
pcmpeqb xmm0, xmmword [esp + 0xe0]
pmovmskb ebx, xmm0
test ebx, ebx
je 0x42c870
mov dword [esp + 0x10], esi
jmp 0x42c82a
lea eax, [ebx - 1]
and ax, bx
mov ebx, eax
je 0x42c870
tzcnt edi, ebx
mov eax, dword [esp + 4]
add edi, esi
and edi, edx
mov ecx, edi
shl ecx, 4
sub eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 8]
jne 0x42c820
push dword [esp + 0xb0]
push dword [eax + 4]
push dword [esp + 0x1c]
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x42c820
jmp 0x42c8b0
movdqa xmm1, xmmword [esp + 0x100]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
mov eax, dword [esp + 0xf0]
jne 0x42cd6f
mov ecx, dword [esp + 0x140]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, edx
jmp 0x42c7e6
mov ecx, dword [esp + 0x140]
neg edi
shl edi, 4
add ecx, edi
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
lea eax, [ecx - 0x10]
test ecx, ecx
cmove eax, ecx
jmp 0x42c8e2
xor eax, eax
lea ecx, [eax + 0xc]
test eax, eax
mov edx, 0x5724a0
cmove ecx, edx
cmp dword [ecx], 1
jg 0x42c958
imul edx, ebx, 0x548
xor eax, eax
mov esi, 0x202
lea ebx, [edi + edx]
add edx, dword [esp + 0x34]
lea ecx, [ebx + 0x1c]
nop dword [eax + eax]
cmp word [edx + eax*2], 0
je 0x42c930
inc eax
add esi, 0xfffffffe
jne 0x42c910
mov eax, 0x101
jmp 0x42c93b
cmp eax, 0x102
jae 0x42d8b4
push eax
push ecx
lea eax, [esp + 0x60]
push eax
call fcn.004d0140
add esp, 0xc
cmp dword [esp + 0x58], 0x80000000
jne 0x42c980
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x42c730
add eax, eax
push 2
push eax
push dword [esp + 0x44]
call main
add esp, 0xc
jmp 0x42c730
mov eax, dword [esp + 0x60]
movq xmm0, qword [esp + 0x58]
mov dword [esp + 0x158], eax
movq qword [esp + 0x150], xmm0
lea eax, [esp + 0x150]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x60]
push eax
call fcn.00428770
add esp, 0xc
cmp dword [esp + 0x58], 0
je 0x42cc4c
mov edx, dword [ebx + 0x4c0]
mov ecx, dword [ebx + 0x4c4]
mov eax, 0xffffffff
mov esi, dword [esp + 0x60]
add edx, dword [ebx + 0x4c8]
mov dword [esp + 0xf0], esi
adc ecx, dword [ebx + 0x4cc]
cmovb edx, eax
cmovb ecx, eax
mov dword [esp + 0x10], edx
mov edx, dword [ebx + 0x508]
mov dword [esp + 8], ecx
mov ecx, dword [ebx + 0x50c]
add edx, dword [ebx + 0x510]
adc ecx, dword [ebx + 0x514]
cmovb ecx, eax
cmovb edx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xb0], edx
mov eax, dword [ecx + 4]
mov dword [esp + 4], ecx
mov ecx, dword [ecx]
mov edx, eax
and edx, esi
movdqu xmm0, xmmword [ecx + edx]
pmovmskb esi, xmm0
test esi, esi
jne 0x42ca54
mov edi, 0x10
nop
add edx, edi
add edi, 0x10
and edx, eax
movdqu xmm0, xmmword [ecx + edx]
pmovmskb esi, xmm0
test esi, esi
je 0x42ca40
tzcnt esi, esi
add esi, edx
and esi, eax
movzx edx, byte [ecx + esi]
test dl, dl
js 0x42ca74
movdqa xmm0, xmmword [ecx]
pmovmskb edx, xmm0
tzcnt esi, edx
movzx edx, byte [ecx + esi]
mov byte [esp + 0x27], dl
lea edx, [esi - 0x10]
mov edi, dword [esp + 0x6c]
movd xmm1, dword [esp + 0x10]
movd xmm3, dword [esp + 8]
movd xmm4, dword [esp + 0xb0]
movd xmm6, dword [esp + 0x14]
and edx, eax
mov eax, dword [ebx]
punpckldq xmm1, xmm3
punpckldq xmm4, xmm6
mov dword [esp + 0x128], eax
mov eax, dword [ebx + 4]
pshufd xmm1, xmm1, 0x44
mov dword [esp + 0x120], eax
mov eax, dword [ebx + 0x504]
mov dword [esp + 0x124], eax
mov eax, dword [ebx + 0x500]
movd xmm7, dword [esp + 0x124]
mov dword [esp + 0x11c], eax
mov eax, dword [ebx + 0x4bc]
movd xmm2, dword [esp + 0x11c]
mov dword [esp + 0x130], eax
mov eax, dword [ebx + 0x4b8]
movd xmm5, dword [esp + 0x130]
punpckldq xmm2, xmm7
pshufd xmm2, xmm2, 0x44
mov dword [esp + 0x12c], eax
mov eax, dword [ebx + 0x4dc]
movd xmm0, dword [esp + 0x12c]
mov dword [esp + 0x140], eax
mov eax, dword [ebx + 0x4d8]
punpckldq xmm0, xmm5
pshufd xmm0, xmm0, 0x44
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x524]
movd xmm7, dword [esp + 0x18]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0x520]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x70]
movd xmm5, dword [esp + 0xe0]
shr eax, 0x19
mov byte [ecx + esi], al
mov byte [ecx + edx + 0x10], al
movzx eax, byte [esp + 0x27]
neg esi
and al, 1
movzx edx, al
mov eax, dword [esp + 4]
sub dword [eax + 8], edx
lea edx, [esi + esi*8]
shl edx, 4
mov dword [ecx + edx - 0x8c], edi
mov edi, dword [esp + 0xf0]
mov dword [ecx + edx - 0x90], edi
mov dword [ecx + edx - 0x88], ebx
mov ebx, dword [esp + 0x120]
mov edi, dword [esp + 0x128]
mov dword [ecx + edx - 0x7c], ebx
mov dword [ecx + edx - 0x80], edi
movdqu xmmword [ecx + edx - 0x78], xmm2
movdqu xmmword [ecx + edx - 0x68], xmm0
movd xmm2, dword [esp + 0x140]
movd xmm0, dword [esp + 0x100]
movdqu xmmword [ecx + edx - 0x58], xmm1
pshufd xmm1, xmm4, 0x44
movdqu xmmword [ecx + edx - 0x48], xmm1
punpckldq xmm5, xmm0
punpckldq xmm7, xmm2
pshufd xmm1, xmm7, 0x44
pshufd xmm0, xmm5, 0x44
movdqu xmmword [ecx + edx - 0x38], xmm1
movdqu xmmword [ecx + edx - 0x28], xmm0
pxor xmm0, xmm0
mov dword [ecx + edx - 0x18], 0
mov dword [ecx + edx - 0x14], 1
mov word [ecx + edx - 8], 0
movq qword [ecx + edx - 0x10], xmm0
mov byte [ecx + edx - 6], 1
inc dword [eax + 0xc]
jmp 0x42cd40
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov esi, dword [edx - 0x78]
mov edi, dword [edx - 0x74]
mov dword [esp + 4], ecx
mov ecx, 0xffffffff
mov dword [edx - 0x6c], edi
mov dword [edx - 0x70], esi
mov esi, dword [ebx + 0x504]
mov edi, dword [ebx + 0x500]
mov dword [edx - 0x78], edi
mov dword [edx - 0x74], esi
mov esi, dword [edx - 0x64]
mov edi, dword [edx - 0x68]
mov dword [edx - 0x60], edi
mov dword [edx - 0x5c], esi
movsd xmm0, qword [ebx + 0x4b8]
movsd qword [edx - 0x68], xmm0
movsd xmm0, qword [edx - 0x58]
movsd qword [edx - 0x50], xmm0
mov esi, dword [ebx + 0x4c0]
mov edi, dword [ebx + 0x4c4]
add esi, dword [ebx + 0x4c8]
adc edi, dword [ebx + 0x4cc]
cmovb edi, ecx
cmovb esi, ecx
mov dword [edx - 0x54], edi
mov dword [edx - 0x58], esi
movsd xmm0, qword [edx - 0x48]
movsd qword [edx - 0x40], xmm0
mov esi, dword [ebx + 0x508]
mov edi, dword [ebx + 0x50c]
add esi, dword [ebx + 0x510]
adc edi, dword [ebx + 0x514]
cmovb edi, ecx
cmovb esi, ecx
test eax, 0x7fffffff
mov dword [edx - 0x44], edi
mov dword [edx - 0x48], esi
movsd xmm0, qword [edx - 0x38]
movsd qword [edx - 0x30], xmm0
movsd xmm0, qword [ebx + 0x4d8]
movsd qword [edx - 0x38], xmm0
movsd xmm0, qword [edx - 0x28]
movsd qword [edx - 0x20], xmm0
movq xmm0, qword [ebx + 0x520]
movq qword [edx - 0x28], xmm0
mov byte [edx - 6], 1
je 0x42cd40
push 1
push eax
push dword [esp + 0xc]
call main
add esp, 0xc
nop dword [eax]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x42cd61
add eax, eax
push 2
push eax
push dword [esp + 0x44]
call main
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp eax, esi
jne 0x42c73c
jmp 0x42cdbe
xor ecx, ecx
jmp 0x42c8be
mov edx, dword [esp + 0xc]
jmp 0x42cd7e
mov edx, esi
mov dword [esp + 0x84], edx
sub esi, edx
je 0x42cdbe
mov edi, edx
shr esi, 4
add edi, 8
jmp 0x42cda6
add edi, 0x10
dec esi
je 0x42cdbe
mov eax, dword [edi - 4]
test eax, eax
je 0x42cda0
add eax, eax
push 2
push eax
push dword [edi]
call main
add esp, 0xc
jmp 0x42cda0
mov eax, dword [esp + 0x118]
test eax, eax
je 0x42cdde
shl eax, 4
push 4
push eax
push dword [esp + 0x11c]
call main
add esp, 0xc
push dword [esp + 0xac]
call sub.iphlpapi.dll_FreeMibTable
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x42cebf
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], eax
test edx, edx
je 0x42ce97
mov ebx, dword [esp + 0xc0]
movdqa xmm0, xmmword [ebx]
lea esi, [ebx + 0x10]
pmovmskb edi, xmm0
not edi
jmp 0x42ce3c
lea eax, [edi - 1]
dec edx
and eax, edi
test edx, edx
mov edi, eax
je 0x42ce97
test di, di
jne 0x42ce6b
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqa xmm0, xmmword [esi]
add ebx, 0xffffff00
add esi, 0x10
pmovmskb edi, xmm0
cmp edi, 0xffff
je 0x42ce50
not edi
tzcnt ecx, edi
mov eax, ebx
shl ecx, 4
sub eax, ecx
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x42ce30
add ecx, ecx
push 2
push ecx
push dword [eax - 0xc]
mov dword [esp + 0x10], edx
call main
mov edx, dword [esp + 0x10]
add esp, 0xc
jmp 0x42ce30
mov edx, dword [esp + 8]
mov eax, edx
shl eax, 4
add edx, eax
add edx, 0x21
je 0x42cebf
mov ecx, dword [esp + 0xc0]
sub ecx, eax
add ecx, 0xfffffff0
push 0x10
push edx
push ecx
call main
add esp, 0xc
push dword [ebp + 8]
call fcn.004295c0
add esp, 4
lea ecx, [esp + 0x134]
call fcn.0042de30
mov edi, dword [esp + 0x134]
cmp edi, 0x80000000
jne 0x42d156
mov eax, dword [esp + 0x138]
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0xb0], eax
xor ecx, ecx
call fcn.0042b680
test eax, eax
je 0x42d8ef
movdqu xmm0, xmmword [eax]
movq xmm3, qword [0x572498]
movq xmm2, qword [0x572490]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
test ebx, ebx
mov dword [eax], edx
mov dword [eax + 4], ecx
movq qword [esp + 0x88], xmm3
movq qword [esp + 0x80], xmm2
movdqu xmmword [esp + 0x90], xmm0
je 0x42d1ad
lea esi, [esp + 0xa0]
jmp 0x42cf85
mov edi, dword [esp + 0x14]
lea esi, [esp + 0xa0]
test edi, edi
mov ebx, edi
je 0x42d196
mov edi, dword [ebx + 8]
lea eax, [ebx + 0x28]
push eax
push esi
call fcn.0044d520
add esp, 8
mov eax, dword [esp + 0xa0]
cmp eax, 0x80000000
je 0x42cf7b
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
push 0
call fcn.00427ba0
add esp, 4
test eax, eax
je 0x42d894
movdqu xmm0, xmmword [eax]
movq xmm2, qword [0x572240]
mov dword [esp + 0x14], edi
pshufd xmm1, xmm0, 0x55
movd edx, xmm0
movd ecx, xmm1
movq xmm1, qword [0x572248]
add edx, 1
adc ecx, 0
test ebx, ebx
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0x68], xmm0
movq qword [esp + 0x58], xmm2
movq qword [esp + 0x60], xmm1
jne 0x42d122
mov eax, dword [esp + 4]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x70]
movq xmm2, qword [esp + 0x58]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
movsd qword [esp + 0xd0], xmm1
movq xmm1, qword [esp + 0x60]
movq qword [esp + 0xd8], xmm0
movq qword [esp + 0xc0], xmm2
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
movq qword [esp + 0xc8], xmm1
mov dword [esp + 0x40], eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00428990
add esp, 0x10
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x42cf70
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x42cf70
lea eax, [edi + 1]
mov edx, 0x12
mul edx
add eax, 0xf
and eax, 0xfffffff0
add edi, eax
add edi, 0x11
je 0x42cf70
sub ecx, eax
push 0x10
push edi
push ecx
call main
add esp, 0xc
jmp 0x42cf70
mov ecx, dword [edx + 4]
xor edx, edx
mov ebx, dword [esp + 0x30]
movq xmm0, qword [esp + 0x28]
lea esi, [esp + 0x3d]
mov dword [esi + 8], ebx
movq qword [esi], xmm0
mov byte [esp + 0x38], dl
mov dword [esp + 0x39], ecx
mov byte [esp + 0x49], al
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.00428c70
add esp, 8
test edi, edi
mov ebx, edi
je 0x42d01c
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
test edx, edx
je 0x42d118
movzx ecx, word [edx]
movzx eax, byte [ebx + 0x2c]
cmp ecx, 2
je 0x42d0e0
cmp ecx, 0x17
jne 0x42d118
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx + 8]
mov dword [esp + 0x30], ebx
movq xmm0, qword [edx + 0xc]
mov dl, 1
movq qword [esp + 0x28], xmm0
jmp 0x42d0e5
xor ecx, ecx
call fcn.0042b680
test eax, eax
je 0x42d90f
add dword [eax], 1
adc dword [eax + 4], 0
test edi, edi
je 0x42d182
push 1
push edi
push dword [esp + 0x140]
call main
add esp, 0xc
mov ebx, 0x572480
xor edi, edi
mov ecx, 1
pcmpeqd xmm0, xmm0
xor eax, eax
jmp 0x42d1ff
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x8c]
jmp 0x42d1b6
mov ebx, 0x572480
xor edi, edi
xor esi, esi
push dword [esp + 0xb0]
call sub.msvcrt.dll_free
add esp, 4
movdqa xmm0, xmmword [ebx]
test esi, esi
je 0x42d1f8
lea ecx, [esi + 1]
mov edx, 0x30
mov dword [esp + 4], 0
mov eax, ecx
mul edx
jo 0x42d1ee
add esi, 0x11
add esi, eax
jae 0x42d851
mov edx, ebx
sub edx, eax
mov eax, dword [esp + 4]
jmp 0x42d1ff
mov ecx, 1
xor eax, eax
mov dword [esp + 0x38], eax
lea eax, [ebx + 0x10]
mov dword [esp + 0x3c], esi
add ecx, ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
test edi, edi
mov esi, eax
pmovmskb eax, xmm0
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 8]
not eax
mov word [esp + 0x50], ax
mov dword [esp + 0x54], edi
lea ecx, [ecx + 0x10]
mov dword [esp + 0x34], ecx
jne 0x42d252
jmp 0x42d61f
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
test edi, edi
mov eax, ecx
je 0x42d61d
test ax, ax
mov dword [esp + 0xe0], edi
je 0x42d270
lea ecx, [eax - 1]
mov dword [esp + 0x18], esi
and ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x42d29d
movdqa xmm0, xmmword [esi]
add ebx, 0xfffffd00
add esi, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x42d270
mov ecx, 0xfffffffe
mov dword [esp + 0x18], esi
sub ecx, eax
not eax
mov edx, eax
and edx, ecx
mov dword [esp + 0xc], edx
tzcnt eax, eax
neg eax
lea esi, [eax + eax*2]
shl esi, 4
movsd xmm0, qword [ebx + esi - 0x1c]
mov eax, dword [ebx + esi - 0x30]
mov ecx, dword [ebx + esi - 0x2c]
mov edx, dword [ebx + esi - 0x28]
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [ebx + esi - 0x14]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [ebx + esi - 0xc]
movsd qword [esp + 0x70], xmm0
mov edi, dword [ebx + esi - 4]
mov dword [esp + 0x78], edi
movsd xmm0, qword [ebx + esi - 0x24]
mov esi, dword [esp + 0xe0]
dec esi
cmp eax, 0x80000000
movsd qword [esp + 0x58], xmm0
je 0x42d611
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x5c]
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xe0], esi
mov dword [esp + 0x20], ebx
movsd xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x18]
movq xmm2, qword [edx]
cmp dword [ecx + 0xc], 0
movsd qword [esp + 0x90], xmm1
movq xmm1, qword [edx + 8]
movq qword [esp + 0x98], xmm0
movq qword [esp + 0x80], xmm2
movq qword [esp + 0x88], xmm1
je 0x42d4f0
lea eax, [esp + 0xa0]
push eax
push dword [esp + 0x38]
call fcn.00426a10
add esp, 8
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x100], 0
mov ebx, dword [ecx + 4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xb0], edi
mov dword [esp + 4], ebx
and ebx, eax
shr eax, 0x19
lea esi, [edx - 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], edx
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x140], xmm0
movdqu xmm0, xmmword [edx + ebx]
movdqa xmmword [esp + 0xf0], xmm0
pcmpeqb xmm0, xmmword [esp + 0x140]
pmovmskb edi, xmm0
test edi, edi
je 0x42d450
mov dword [esp + 0x14], ebx
jmp 0x42d40a
lea eax, [edi - 1]
and ax, di
mov edi, eax
je 0x42d450
tzcnt eax, edi
mov ecx, dword [esp + 8]
add eax, ebx
and eax, dword [esp + 4]
neg eax
lea edx, [eax + eax*8]
shl edx, 4
cmp ecx, dword [esi + edx + 8]
jne 0x42d400
lea eax, [esi + edx]
push ecx
push dword [eax + 4]
push dword [esp + 0xb8]
mov dword [esp + 0x1c], edx
call sub.msvcrt.dll_memcmp
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x42d400
jmp 0x42d490
movdqa xmm1, xmmword [esp + 0xf0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x42d4f0
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x1c]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
and ebx, dword [esp + 4]
mov dword [esp + 0x100], eax
jmp 0x42d3d6
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov esi, edx
lea eax, [edi + 1]
test edi, edi
mov dword [esp + 4], eax
je 0x42d540
mov edx, 0x12
xor ebx, ebx
mul edx
jo 0x42d4e0
cmp eax, 0xfffffff0
ja 0x42d4e0
add eax, 0xf
add edi, 0x11
and eax, 0xfffffff0
add edi, eax
jb 0x42d4e0
mov ebx, 0x10
cmp edi, 0x7ffffff1
jb 0x42d4e0
xor ebx, ebx
nop dword [eax + eax]
mov edx, ecx
sub edx, eax
jmp 0x42d542
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0x18]
test ecx, ecx
je 0x42d5eb
lea eax, [ecx + 1]
mov edx, 0x12
mul edx
add eax, 0xf
and eax, 0xfffffff0
add ecx, eax
add ecx, 0x11
je 0x42d5eb
mov edx, dword [esp + 0x80]
sub edx, eax
push 0x10
push ecx
push edx
call main
add esp, 0xc
jmp 0x42d5eb
xor ebx, ebx
movdqa xmm0, xmmword [ecx]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 4]
lea eax, [ecx + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
pmovmskb eax, xmm0
add edx, ecx
not eax
mov dword [esp + 0xd4], edx
mov word [esp + 0xd8], ax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00418fc0
add esp, 8
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xe0]
add eax, esi
mov esi, eax
mov eax, dword [eax - 0x18]
test eax, eax
je 0x42d5d3
add eax, eax
lea eax, [eax + eax*8]
push 1
push eax
push dword [esi - 0x14]
call main
add esp, 0xc
mov eax, dword [esp + 0x30]
add esi, 0xffffffe8
mov dword [esi + 8], eax
movq xmm0, qword [esp + 0x28]
movq qword [esi], xmm0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x42d240
push 1
push eax
push dword [esp + 0xac]
call main
add esp, 0xc
jmp 0x42d240
mov ecx, esi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
jmp 0x42d621
mov eax, ecx
xor ecx, ecx
mov word [esp + 0x50], ax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], esi
lea eax, [esp + 0x38]
push eax
call fcn.00419e70
add esp, 4
lea ecx, [esp + 0x38]
call fcn.0042de30
mov eax, dword [esp + 0x38]
cmp eax, 0x80000000
je 0x42d66f
test eax, eax
je 0x42c34b
push 1
push eax
push dword [esp + 0x44]
call main
add esp, 0xc
jmp 0x42c34b
movq xmm0, qword [esp + 0x3c]
movq qword [esp + 0x28], xmm0
nop dword [eax + eax]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0042dd80
add esp, 8
cmp dword [esp + 0x58], 0x80000000
je 0x42d840
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
movq xmm0, qword [esp + 0x58]
cmp dword [ecx + 0xc], 0
mov dword [esp + 0x88], eax
movq qword [esp + 0x80], xmm0
je 0x42d81a
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x38]
call fcn.00426a10
add esp, 8
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xf0], 0
mov esi, dword [ecx + 4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov dword [esp + 4], esi
and esi, eax
shr eax, 0x19
mov dword [esp + 0x100], edx
add edx, 0xffffff70
mov dword [esp + 8], ecx
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0xe0], xmm0
mov eax, dword [esp + 0x100]
movdqu xmm0, xmmword [eax + esi]
movdqa xmmword [esp + 0xb0], xmm0
pcmpeqb xmm0, xmmword [esp + 0xe0]
pmovmskb ebx, xmm0
test ebx, ebx
je 0x42d7c0
mov dword [esp + 0x10], esi
jmp 0x42d77a
lea eax, [ebx - 1]
and ax, bx
mov ebx, eax
je 0x42d7c0
tzcnt eax, ebx
mov ecx, dword [esp + 8]
add eax, esi
and eax, dword [esp + 4]
neg eax
lea edi, [eax + eax*8]
shl edi, 4
cmp ecx, dword [edx + edi + 8]
jne 0x42d770
lea eax, [edx + edi]
push ecx
push dword [eax + 4]
push dword [esp + 0x1c]
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x42d770
jmp 0x42d800
movdqa xmm1, xmmword [esp + 0xb0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x42d81a
mov eax, dword [esp + 0xf0]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, dword [esp + 4]
mov dword [esp + 0xf0], eax
jmp 0x42d735
lea ecx, [esp + 0x64]
mov edx, dword [esp + 0x100]
movzx eax, word [ecx + 4]
mov word [edx + edi - 8], ax
mov eax, dword [ecx]
mov dword [edx + edi - 0xc], eax
mov eax, dword [esp + 0x80]
test eax, eax
je 0x42d680
push 1
push eax
push dword [esp + 0x8c]
call main
add esp, 0xc
jmp 0x42d680
push dword [esp + 0x28]
call sub.msvcrt.dll_free
add esp, 4
jmp 0x42c34b
cmp esi, 0x7ffffff1
mov dword [esp + 4], 0x10
jb 0x42d1ee
mov dword [esp + 4], 0
jmp 0x42d1ee
push 0x14
push 2
call fcn.004ce340
add esp, 8
jmp 0x42d92d
push 0x14
push 2
call fcn.004ce360
add esp, 8
jmp 0x42d92d
push 0x572458
push 0x572468
lea eax, [esp + 0x60]
push eax
push 0x46
push 0x5723c0
call fcn.004da120
add esp, 0x14
jmp 0x42d92d
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
push 0x572514
push 0x101
push eax
call fcn.004df620
add esp, 0xc
jmp 0x42d92d
lea eax, [esp + 0x58]
push 0x572458
push 0x572468
push eax
push 0x46
push 0x5723c0
call fcn.004da120
lea eax, [esp + 0x58]
push 0x572458
push 0x572468
push eax
push 0x46
push 0x5723c0
call fcn.004da120
add esp, 0x14
jmp 0x42d92d
lea eax, [esp + 0x58]
push 0x572458
push 0x572468
push eax
push 0x46
push 0x5723c0
call fcn.004da120
add esp, 0x14
ud2