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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
mov esi, dword [ebp + 8]
cmp byte [edx + 1], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], edx
je 0x56858e
lea eax, [esi + 0x26]
lea ecx, [esp + 0x1b0]
push 0x100
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x568642
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x6072e0]
mov eax, 0xffffff00
movaps xmmword [esp + 0x2a0], xmm0
movaps xmmword [esp + 0x290], xmm0
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x270], xmm0
movaps xmmword [esp + 0x260], xmm0
movaps xmmword [esp + 0x250], xmm0
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movdqa xmm0, xmmword [0x6072d0]
nop word cs:[eax + eax]
movdqu xmmword [esp + eax + 0x2b0], xmm0
paddb xmm0, xmm1
add eax, 0x10
jne 0x568630
movzx edi, byte [esp + 0x2af]
mov esi, dword [esi + 0x20]
mov ecx, 4
inc edi
imul edi, esi
mov eax, edi
mul ecx
jo 0x569975
mov ebx, eax
test eax, eax
js 0x569975
test ebx, ebx
mov dword [esp + 4], ebx
je 0x5686b0
mov eax, dword [0x6f1130]
test eax, eax
jne 0x568689
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5686fb
mov dword [0x6f1130], eax
push ebx
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5686fb
mov ecx, dword [ebp + 8]
mov dword [esp + 8], eax
mov esi, dword [ecx + 0x20]
mov ecx, 0xc
mov eax, esi
mul ecx
jno 0x5686c7
jmp 0x569975
mov dword [esp + 8], 4
mov ecx, 0xc
mov eax, esi
mul ecx
jo 0x569975
mov ebx, eax
test eax, eax
js 0x569975
test ebx, ebx
je 0x568709
mov eax, dword [0x6f1130]
test eax, eax
jne 0x5686ec
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5686fb
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x56870e
mov ecx, ebx
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 4
mov edx, 0xaaaaaaab
mov eax, ebx
mov dword [esp + 0x54], ecx
mul edx
shr edx, 3
cmp edx, esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
jb 0x5696dc
xor eax, eax
mov ebx, dword [esp + 4]
lea edx, [eax + eax*2]
cmp esi, 2
lea ecx, [ecx + edx*4]
jb 0x56876e
lea edx, [esi - 1]
nop word cs:[eax + eax]
mov dword [ecx], 4
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
dec edx
jne 0x568750
lea eax, [esi + eax - 1]
test esi, esi
je 0x568789
mov edx, dword [0x6d6b64]
inc eax
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
shr ebx, 2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], edi
mov esi, ebx
mov ebx, dword [ebp + 8]
mov al, byte [ebx + 0x24]
mov ecx, dword [ebx + 8]
mov byte [esp + 0x1c], al
mov al, byte [ebx + 0x25]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx + 0x20]
mov byte [esp + 0xc], al
mov eax, dword [ebx]
mov dword [esp + 0x18], ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5687db
mov ecx, dword [ebx + 0x14]
push eax
call dword [ecx + 0x24]
add esp, 4
mov edi, eax
mov dword [esp + 0x20], edx
jmp 0x5687dd
xor edi, edi
lea eax, [esp + 0xaf]
lea ecx, [esp + 0x1b0]
push 0x100
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
movq xmm0, qword [esp + 0x54]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x5c]
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x1c]
mov byte [esp + 0xac], al
mov al, byte [esp + 0xc]
mov byte [esp + 0xad], al
mov eax, dword [esp + 4]
mov byte [esp + 0xae], 0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x20]
test eax, eax
mov dword [esp + 0x64], eax
je 0x5691ef
mov al, byte [esp + 0x2af]
xor ecx, ecx
mov byte [esp + 0x3b], al
jmp 0x5688d3
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0xc]
inc ecx
cmp ecx, dword [esp + 0x64]
je 0x5691da
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x28], ecx
cmp edx, ecx
jbe 0x5698b9
mov edx, dword [ebx + 0x20]
cmp edx, ecx
jbe 0x5698c8
mov eax, dword [esp + 0xa0]
mov edx, dword [ebx + 0x18]
lea edi, [ecx + ecx*2]
lea esi, [ecx + ecx*8]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x68], ecx
mov ecx, dword [edx + esi*4 + 0x14]
mov ebx, dword [edx + esi*4 + 0x1c]
lea esi, [eax + edi*4]
mov edx, dword [eax + edi*4 + 4]
mov edi, dword [eax + edi*4 + 8]
sub edx, edi
cmp edx, ebx
lea edx, [ebx*8]
jb 0x56917e
lea eax, [edi*8]
add eax, dword [esi]
push edx
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, edi
mov dword [esi + 8], ebx
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x20]
cmp edx, ecx
jbe 0x5698d7
mov edx, dword [esi + 0x20]
cmp edx, ecx
jbe 0x5698e6
mov edx, dword [esi + 0x18]
lea eax, [ecx + ecx*8]
cmp byte [esp + 0x3b], 0xff
mov ecx, dword [edx + eax*4 + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + eax*4]
lea edi, [ecx + eax*4 + 4]
mov dword [esp + 4], edi
je 0x568a70
test edx, edx
je 0x568b10
lea eax, [ecx + eax*4 + 0xc]
xor ecx, ecx
xor edx, edx
mov dword [esp + 8], eax
test dl, 1
mov dword [esp + 0xc], esi
jne 0x5689c0
cmp ecx, 0xff
ja 0x5688c0
mov bl, byte [esp + ecx + 0x1b0]
lea edi, [ecx + 1]
jmp 0x5689e8
cmp ecx, 0x101
mov edx, 0x100
cmovae edx, ecx
nop
cmp edx, ecx
je 0x5688c0
movzx ebx, byte [esp + ecx + 0x1b0]
inc ecx
cmp al, bl
je 0x5689d0
mov edi, ecx
dec ecx
mov eax, dword [esp + 8]
movzx esi, cl
mov edx, dword [eax]
cmp edx, esi
jbe 0x5698f5
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
test eax, eax
jne 0x568a22
movzx eax, cl
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
push eax
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, byte [esp + esi + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0xc]
mov dword [edx + ecx*4], eax
mov dl, 1
mov ecx, edi
mov eax, ebx
test dl, 1
mov dword [esp + 0xc], esi
je 0x5689a8
jmp 0x5689c0
test edx, edx
je 0x568e05
lea edi, [ecx + eax*4 + 0xc]
xor ebx, ebx
movzx eax, bx
cmp eax, 0x100
je 0x5688c0
nop dword [eax]
mov edx, dword [edi]
movzx esi, bl
cmp edx, esi
jbe 0x5698a8
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
test eax, eax
jne 0x568ac3
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
push ebx
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, byte [esp + esi + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
inc ebx
mov dword [edx + ecx*4], eax
movzx eax, bx
cmp eax, 0x100
jne 0x568a90
jmp 0x5688c0
mov edx, dword [esp + 4]
mov eax, dword [ecx + eax*4 + 0xc]
mov edi, dword [edx]
lea ecx, [edi + eax*8]
shl eax, 3
test eax, eax
mov dword [esp + 0x50], ecx
je 0x56900b
xor eax, eax
xor edx, edx
mov ebx, edi
mov dword [esp + 0x3c], edi
jmp 0x568b95
movzx ecx, byte [esp + 0x1ae]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x9c]
inc ecx
movzx eax, byte [esp + eax + 0xaf]
imul ecx, dword [esp + 0x28]
add ecx, eax
cmp edx, ecx
jbe 0x569815
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4], edx
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov edx, esi
mov esi, dword [esp + 0xc]
mov al, 1
inc edx
add ebx, 8
cmp ebx, dword [esp + 0x50]
je 0x56900f
mov dword [esp + 0xc], esi
movzx esi, byte [ebx]
mov dword [esp + 0x6c], ebx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x24], esi
movzx esi, si
mov dword [esp + 0x48], ebx
mov ebx, esi
mov dword [esp + 0x20], esi
cmp dx, bx
jae 0x568c50
movzx esi, dl
mov edi, edx
mov ch, byte [esp + esi + 0x1b0]
cmp cl, ch
sete dl
test al, dl
jne 0x568c2c
mov byte [esp + 4], ch
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
mov ebx, edi
push edi
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, byte [esp + esi + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [esp + 0x20]
mov dword [edx + ecx*4], eax
mov cl, byte [esp + 4]
inc edi
cmp di, word [esp + 0x24]
jne 0x568ca0
mov edi, dword [esp + 0x3c]
mov bl, byte [esp + ebx + 0x1b0]
mov esi, dword [esp + 0x24]
jmp 0x568c5d
mov bl, byte [esp + ebx + 0x1b0]
mov esi, edx
test al, 1
je 0x568c65
cmp cl, bl
je 0x568b79
cmp dword [esp + 0x48], 0
jne 0x568b40
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
push dword [esp + 0x20]
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x568b40
mov eax, edi
mov edi, dword [esp + 0x94]
movzx edx, byte [esp + 0x1ae]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], edx
jmp 0x568d0f
mov eax, dword [esp + 0x14]
movzx edx, byte [esp + eax + 0xaf]
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x20]
imul eax, dword [esp + 0x4c]
add eax, edx
cmp dword [esp + 0x40], eax
mov edx, eax
jbe 0x569848
mov ecx, dword [esp + 0x70]
mov eax, edi
mov edi, dword [esp + 0x3c]
mov dword [ecx + edx*4], esi
mov cl, byte [esp + 0x1c]
inc eax
cmp ax, word [esp + 0x24]
je 0x568c38
movzx edx, al
mov dword [esp + 0x14], edx
mov dl, byte [esp + edx + 0x1b0]
cmp cl, dl
mov byte [esp + 0x1c], dl
je 0x568d03
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov edi, eax
cmp ebx, ecx
mov dword [esp + 4], ecx
jae 0x568d70
mov eax, dword [esp + 0x14]
movzx esi, byte [esp + 0x1ae]
movzx edx, byte [esp + eax + 0xaf]
mov eax, dword [esp + 0x9c]
inc esi
imul esi, ebx
add esi, edx
cmp eax, esi
jbe 0x569870
mov eax, dword [esp + 0x94]
mov esi, dword [eax + esi*4]
jmp 0x568cd7
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
mov eax, ecx
mov dword [esp + 0x18], ecx
jmp 0x568da8
mov esi, dword [eax]
test esi, esi
jne 0x568ccb
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + edx*4 + 0x10]
cmp ebx, dword [esp + 4]
jb 0x568d37
cmp dword [esp + 8], ebx
jbe 0x5691a3
lea edx, [ebx + ebx*8]
cmp dword [eax + edx*4], 1
lea esi, [eax + edx*4 + 4]
jne 0x568de0
mov ebx, dword [eax + edx*4 + 0xc]
mov ecx, dword [esp + 0x14]
cmp ebx, ecx
jbe 0x5691b8
lea eax, [ecx*4]
add eax, dword [esi]
jmp 0x568d90
mov esi, dword [esi]
mov ebx, dword [eax + edx*4 + 0xc]
add esi, 0xfffffffc
shl ebx, 3
nop dword [eax]
test ebx, ebx
je 0x568d9a
mov ecx, edi
add ebx, 0xfffffff8
lea eax, [esi + 8]
cmp byte [esi + 4], cl
mov esi, eax
jne 0x568df0
jmp 0x568d90
mov eax, dword [ecx + eax*4 + 0xc]
lea ecx, [eax*8]
test ecx, ecx
je 0x569118
mov ecx, dword [esp + 4]
xor ebx, ebx
mov ecx, dword [ecx]
lea eax, [ecx + eax*8]
mov dword [esp + 0x40], eax
nop word [eax + eax]
movzx edx, byte [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
cmp bx, dx
mov dword [esp + 0x14], edx
jae 0x568f8e
movzx esi, byte [esp + 0x1ae]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x4c], eax
inc esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], esi
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov dword [esp + 4], eax
jae 0x568ec0
movzx eax, bl
movzx esi, byte [esp + 0x1ae]
movzx edi, byte [esp + eax + 0xaf]
mov edx, dword [esp + 0x9c]
inc esi
imul esi, ecx
add esi, edi
cmp edx, esi
jbe 0x569883
mov eax, dword [esp + 0x94]
mov edx, dword [eax + esi*4]
jmp 0x568f5c
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
movzx eax, bl
mov dword [esp + 0x18], eax
jmp 0x568f0d
mov edx, dword [esi + ecx*4 + 0xc]
cmp edx, eax
jbe 0x5691c9
lea eax, [eax*4]
add eax, dword [edi]
mov edx, dword [eax]
test edx, edx
jne 0x568f50
mov ecx, dword [esi + ecx*4 + 0x10]
mov eax, dword [esp + 0x18]
cmp ecx, dword [esp + 4]
jb 0x568e83
cmp dword [esp + 8], ecx
jbe 0x5691a5
lea ecx, [ecx + ecx*8]
cmp dword [esi + ecx*4], 1
lea edi, [esi + ecx*4 + 4]
je 0x568ee0
mov edi, dword [edi]
mov edx, dword [esi + ecx*4 + 0xc]
add edi, 0xfffffffc
shl edx, 3
test edx, edx
je 0x568efb
add edx, 0xfffffff8
cmp byte [edi + 4], bl
lea eax, [edi + 8]
mov edi, eax
jne 0x568f30
jmp 0x568ef5
mov eax, dword [esp + 0x18]
movzx edi, byte [esp + eax + 0xaf]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 4]
imul ecx, esi
add ecx, edi
cmp dword [esp + 0x1c], ecx
jbe 0x56985d
inc ebx
mov eax, dword [esp + 0x20]
cmp bx, word [esp + 0x14]
mov dword [eax + ecx*4], edx
jne 0x568e70
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x568fae
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
mov esi, eax
movzx eax, word [esp + 0x14]
mov edx, dword [esp + 0x9c]
inc ecx
movzx eax, byte [esp + eax + 0xaf]
imul ecx, dword [esp + 0x28]
add ecx, eax
cmp edx, ecx
jbe 0x569815
mov eax, dword [esp + 0x94]
inc ebx
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x3c]
add ecx, 8
cmp ecx, dword [esp + 0x40]
jne 0x568e30
movzx eax, bx
cmp eax, 0x100
jb 0x569120
jmp 0x5688c0
xor edx, edx
jmp 0x56901d
movzx eax, dx
cmp eax, 0xff
ja 0x5688c0
movzx eax, dx
cmp edi, dword [esp + 0x50]
mov esi, edx
mov al, byte [esp + eax + 0x1b0]
je 0x569033
cmp cl, al
je 0x56908a
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
mov byte [esp + 4], al
mov ebx, esi
push esi
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, bl
movzx edx, byte [esp + edx + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
mov cl, byte [esp + 4]
mov edx, esi
inc edx
movzx eax, dx
cmp eax, 0x100
jne 0x5690b1
jmp 0x5688c0
inc edi
movzx eax, di
mov edx, edi
cmp eax, 0x100
je 0x5688c0
movzx esi, dl
mov edi, edx
movzx ebx, byte [esp + esi + 0x1b0]
cmp cl, bl
je 0x5690a0
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
mov dword [esp + 4], edi
push edi
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, byte [esp + esi + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 4]
mov dword [edx + ecx*4], eax
mov ecx, ebx
jmp 0x5690a0
xor ebx, ebx
nop word [eax + eax]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x74]
push ebx
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.00568450
add esp, 0xc
movzx ecx, byte [esp + 0x1ae]
movzx edx, bl
movzx edx, byte [esp + edx + 0xaf]
inc ecx
imul ecx, dword [esp + 0x28]
add ecx, edx
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jbe 0x569815
mov edx, dword [esp + 0x94]
inc ebx
mov dword [edx + ecx*4], eax
movzx ecx, bx
cmp ecx, 0x100
jne 0x569120
jmp 0x5688c0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ecx, esi
mov edx, edi
push ebx
call fcn.00557040
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
add esp, 4
mov edi, dword [esi + 8]
jmp 0x56892d
mov ecx, ebx
mov edx, dword [esp + 8]
push 0x689e58
call fcn.0045a150
add esp, 4
ud2
mov edx, ebx
push 0x689f68
call fcn.0045a150
add esp, 4
ud2
mov ecx, eax
push 0x689f68
call fcn.0045a150
add esp, 4
ud2
cmp byte [esp + 0xae], 0
jne 0x5699d9
mov esi, dword [esp + 0x80]
cmp esi, 2
jb 0x569526
mov edi, esi
mov esi, dword [esp + 0x74]
cmp esi, edi
jae 0x569247
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
mov ecx, esi
mov ebx, esi
cmp edx, esi
lea esi, [esi + esi*2]
lea eax, [eax + esi*4 + 8]
cmova ecx, edx
mov esi, ebx
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, esi
je 0x569915
cmp dword [eax], 0
je 0x569247
inc esi
add eax, 0xc
cmp edi, esi
jne 0x569230
mov esi, edi
mov ecx, 4
mov eax, edi
mul ecx
jo 0x569975
mov ecx, eax
test eax, eax
js 0x569975
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x5692a1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x569287
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5699c9
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x1c]
push ecx
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5699c9
mov ebx, dword [esp + 0x80]
jmp 0x5692a8
mov eax, 4
mov ebx, edi
lea ecx, [ebx - 1]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
cmp ecx, esi
jbe 0x56944c
mov edx, dword [esp + 0xa8]
jmp 0x5692dd
mov esi, dword [esp + 4]
dec ecx
cmp ecx, esi
jbe 0x569445
cmp edx, ecx
jbe 0x569906
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], esi
lea esi, [ecx + ecx*2]
mov dword [esp + 0x10], esi
cmp dword [ebx + esi*4 + 8], 0
je 0x5692d0
cmp byte [esp + 0xae], 0
mov dword [esp + 8], ecx
jne 0x56998e
movzx ebx, byte [esp + 0x1ae]
mov ecx, dword [esp + 8]
inc ebx
mov edx, ebx
imul ecx, ebx
imul edx, dword [esp + 4]
nop word [eax + eax]
mov esi, dword [esp + 0x9c]
cmp ecx, esi
jae 0x569824
cmp edx, esi
jae 0x569835
mov esi, dword [esp + 0x94]
mov eax, dword [esi + ecx*4]
mov edi, dword [esi + edx*4]
mov dword [esi + ecx*4], edi
mov dword [esi + edx*4], eax
inc edx
inc ecx
dec ebx
jne 0x569330
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 8]
cmp edx, ebx
jbe 0x569924
mov ecx, dword [esp + 4]
cmp edx, ecx
jbe 0x569935
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x10]
lea edi, [ecx + ecx*2]
mov edx, dword [eax + esi*4 + 8]
mov dword [esp + 0x30], edx
movsd xmm0, qword [eax + esi*4]
movsd qword [esp + 0x28], xmm0
mov edx, dword [eax + edi*4 + 8]
movsd xmm0, qword [eax + edi*4]
mov dword [eax + esi*4 + 8], edx
movsd qword [eax + esi*4], xmm0
mov edx, dword [esp + 0x30]
mov dword [eax + edi*4 + 8], edx
mov edx, dword [esp + 0x18]
movq xmm0, qword [esp + 0x28]
cmp edx, ebx
movq qword [eax + edi*4], xmm0
jbe 0x569944
mov eax, dword [esp + 0x14]
cmp edx, ecx
mov dword [eax + ebx*4], ecx
jbe 0x569955
mov dword [eax + ecx*4], ebx
inc ecx
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa8]
cmp ebx, ecx
mov esi, ecx
cmova esi, ebx
lea ebx, [eax + edi*4 + 0x14]
nop dword [eax]
mov eax, dword [esp + 4]
inc eax
cmp eax, dword [esp + 8]
jae 0x569430
cmp edx, eax
mov dword [esp + 4], eax
jbe 0x569894
cmp dword [ebx], 0
lea ebx, [ebx + 0xc]
jne 0x569400
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 4]
jmp 0x569434
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
dec ecx
cmp ecx, esi
ja 0x5692dd
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], esi
test ebx, ebx
je 0x5694ed
mov edi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x10], ebx
jmp 0x56947c
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 8]
cmp edx, ebx
je 0x5694ed
movzx ebx, byte [esp + 0x1ae]
lea esi, [ebx + 1]
mov ecx, esi
imul ecx, edx
add esi, ecx
jb 0x56997c
mov eax, edx
mov edx, dword [esp + 0x9c]
cmp edx, esi
jb 0x569985
inc eax
lea esi, [ebx*4 + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x14]
jmp 0x5694d8
add edx, 4
add esi, 0xfffffffc
je 0x569470
mov ecx, dword [edx]
cmp edi, ecx
jbe 0x569804
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x5694d0
mov dword [edx], ecx
jmp 0x5694d0
mov ecx, dword [esp + 0x74]
cmp edi, ecx
jbe 0x569964
mov ecx, dword [eax + ecx*4]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x1c]
test ecx, ecx
je 0x56950c
mov dword [esp + 0x74], ecx
dec esi
test edx, edx
mov dword [esp + 0x84], esi
je 0x569526
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa8]
shl eax, 2
lea edx, [ecx + ecx*2]
test ecx, ecx
lea esi, [eax + edx*4]
je 0x56956d
mov eax, dword [esp + 0xa0]
shl ecx, 2
lea ecx, [ecx + ecx*2]
add eax, 8
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [eax]
add eax, 0xc
add ecx, 0xfffffff4
lea esi, [esi + edx*8]
jne 0x569560
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x569588
mov ecx, dword [esp + 0x90]
push eax
call dword [ecx + 0x28]
add esp, 4
jmp 0x56958a
xor eax, eax
mov ecx, dword [esp + 0x60]
add eax, esi
mov dword [esp + 0x88], eax
cmp byte [ecx], 0
je 0x5696a6
cmp byte [esp + 0xae], 0
jne 0x5697b7
mov edi, dword [esp + 0x80]
cmp edi, 2
jb 0x5697b7
movzx ecx, byte [esp + 0x1ae]
lea eax, [edi - 1]
lea esi, [ecx + 1]
mul esi
jno 0x5696f4
mov eax, dword [esp + 0x44]
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax], 1
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x569636
mov ecx, dword [esp + 0x90]
push eax
call dword [ecx]
add esp, 4
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 4], 0
je 0x569636
mov eax, dword [esp + 0x8c]
cmp dword [ecx + 8], 9
jb 0x569628
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test dword [esp + 0x98], 0x3fffffff
je 0x569657
push dword [esp + 0x94]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x569766
mov esi, dword [esp + 0xa0]
shl eax, 2
lea edi, [eax + eax*2]
add esi, 4
jmp 0x56968c
add esi, 0xc
add edi, 0xfffffff4
je 0x569766
test dword [esi], 0x1fffffff
je 0x569680
push dword [esi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x569680
mov esi, dword [esp + 0x44]
mov bl, byte [esp + 0x2af]
lea ecx, [esp + 0x74]
lea eax, [esi + 8]
push 0x13c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp bl, 0xff
je 0x5697ef
mov dword [esi + 4], 1
jmp 0x5697f6
lea ecx, [esp + 0x54]
mov edx, esi
call fcn.00557280
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
jmp 0x568734
cmp edi, 3
jb 0x569795
lea eax, [ecx*4 + 4]
mov ebx, 2
mov dword [esp + 4], eax
jmp 0x569718
cmp ebx, edi
je 0x569795
mov ecx, ebx
imul ecx, esi
mov eax, ecx
add eax, esi
jb 0x5699a7
mov edx, dword [esp + 0x9c]
cmp edx, eax
jb 0x5699b8
mov eax, dword [esp + 0x94]
inc ebx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 4]
jmp 0x569758
add eax, 4
add ecx, 0xfffffffc
je 0x569710
mov edx, dword [eax]
cmp edx, 1
je 0x569750
imul edx, esi
mov dword [eax], edx
jmp 0x569750
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x5697fc
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x5697fc
push dword [esp + 0xa0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x5697fc
mov byte [esp + 0xae], 1
mov eax, dword [esp + 0x74]
imul eax, esi
mov dword [esp + 0x74], eax
imul esi, dword [esp + 0x84]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x44]
mov bl, byte [esp + 0x2af]
lea ecx, [esp + 0x74]
lea eax, [esi + 8]
push 0x13c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp bl, 0xff
je 0x5697e6
mov dword [esi + 4], 3
jmp 0x5697f6
mov dword [esi + 4], 2
jmp 0x5697f6
mov dword [esi + 4], 0
mov dword [esi], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, edi
push 0x689a64
call fcn.0045a150
add esp, 4
ud2
push 0x6899b4
call fcn.0045a150
add esp, 4
ud2
mov edx, esi
push 0x6d3798
call fcn.0045a150
add esp, 4
ud2
mov ecx, edx
mov edx, esi
push 0x6d37a8
call fcn.0045a150
add esp, 4
ud2
mov ecx, edx
mov edx, dword [esp + 0x40]
push 0x6899b4
call fcn.0045a150
add esp, 4
ud2
mov edx, dword [esp + 0x1c]
push 0x6899b4
call fcn.0045a150
add esp, 4
ud2
mov ecx, esi
mov edx, eax
push 0x68995c
call fcn.0045a150
add esp, 4
ud2
mov ecx, esi
push 0x68995c
call fcn.0045a150
add esp, 4
ud2
cmp edx, ecx
cmova ecx, edx
push 0x689a44
call fcn.0045a150
add esp, 4
ud2
mov ecx, esi
push 0x689f88
call fcn.0045a150
add esp, 4
ud2
push 0x689a84
call fcn.0045a150
add esp, 4
ud2
push 0x689e98
call fcn.0045a150
add esp, 4
ud2
push 0x689e68
call fcn.0045a150
add esp, 4
ud2
push 0x689e78
call fcn.0045a150
add esp, 4
ud2
mov ecx, esi
push 0x689f98
call fcn.0045a150
add esp, 4
ud2
push 0x689a14
call fcn.0045a150
add esp, 4
ud2
push 0x689a04
call fcn.0045a150
add esp, 4
ud2
mov ecx, ebx
push 0x6d3798
call fcn.0045a150
add esp, 4
ud2
push 0x6d37a8
call fcn.0045a150
add esp, 4
ud2
mov ecx, ebx
push 0x689a24
call fcn.0045a150
add esp, 4
ud2
push 0x689a34
call fcn.0045a150
add esp, 4
ud2
mov edx, edi
push 0x689a74
call fcn.0045a150
add esp, 4
ud2
call fcn.0040a620
ud2
mov edx, esi
push 0x689a54
jmp 0x5699ae
mov ecx, esi
push 0x689a54
jmp 0x5699bf
mov ecx, str.cant_swap_states_in_premultiplied_DFA
mov edx, 0x26
push 0x6899a4
call fcn.0056a990
add esp, 4
ud2
mov edx, eax
push 0x68996c
call fcn.0045ce70
add esp, 4
ud2
mov ecx, eax
push 0x68996c
call fcn.0045ab50
add esp, 4
ud2
mov ecx, dword [esp + 0x1c]
mov edx, 4
call fcn.0040a640
ud2
mov ecx, str.cannot_shuffle_match_states_of_premultiplied_DFA
mov edx, 0x30
push 0x6899f4
call fcn.0056a990
add esp, 4
ud2