Function at 0x100688c0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x198
mov eax, dword [0x101f90c0]
xor eax, esp
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x19c]
xor edx, edx
push ebp
mov ebp, ecx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [eax]
mov eax, ecx
neg eax
mov dword [esp + 0x24], edx
test ecx, ecx
mov dword [esp + 0x44], ebp
push esi
mov esi, dword [ebp + 0x1c]
cmovns eax, ecx
movzx eax, ax
mov edx, 0x101cd84c
mov dword [esp + 0x38], eax
mov ecx, ebp
lea eax, [esp + 0x54]
mov dword [esp + 0x20], esi
push eax
call fcn.1004a8a0
test eax, eax
jne 0x1006898c
push ebx
push edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x24], edi
cmp edi, 0x774f4632
je 0x10068985
mov ebx, dword [esp + 0x64]
cmp ebx, dword [ebp + 4]
jne 0x10068985
mov ax, word [esp + 0x68]
test ax, ax
je 0x10068985
movzx edx, ax
lea eax, [edx + edx*4]
lea eax, [eax*4 + 0x30]
cmp eax, ebx
jae 0x10068985
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x100689a5
cmp dword [esp + 0x78], ecx
jne 0x10068985
cmp dword [esp + 0x7c], ecx
je 0x100689b3
mov eax, 8
pop edi
pop ebx
mov ecx, dword [esp + 0x19c]
pop esi
pop ebp
xor ecx, esp
call fcn.1018e0ca
add esp, 0x198
ret 8
cmp dword [esp + 0x78], 0
je 0x100689b3
cmp dword [esp + 0x7c], 0
je 0x10068985
cmp ecx, ebx
jae 0x10068985
mov eax, ebx
sub eax, ecx
cmp eax, dword [esp + 0x78]
jb 0x10068985
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x100689d5
cmp dword [esp + 0x84], ecx
jne 0x10068985
cmp ecx, ebx
jae 0x10068985
mov eax, ebx
sub eax, ecx
cmp eax, dword [esp + 0x84]
jb 0x10068985
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x9c], eax
test edx, edx
je 0x10068f67
mov eax, dword [esi + 4]
mov ecx, esi
shl edx, 5
call eax
mov ebx, eax
mov edi, 0x40
xor eax, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
cmovne edi, eax
je 0x10068a33
movzx edi, word [esp + 0x68]
mov eax, edi
shl eax, 5
push eax
push 0
push ebx
call fcn.1018fe70
add esp, 0xc
mov ebx, edi
jmp 0x10068a4a
mov dword [esp + 0x10], ebx
mov eax, ebx
test edi, edi
jne 0x10068f5e
movzx ebx, word [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
lea edx, [ebx*4]
mov ecx, esi
call eax
mov esi, eax
mov edi, 0x40
xor eax, eax
test esi, esi
cmovne edi, eax
je 0x10068a90
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.1018fe70
movzx eax, word [esp + 0x74]
add esp, 0xc
mov edi, dword [esp + 0x10]
mov edx, esi
mov dword [esp + 0x3c], 0
jmp 0x10068acd
mov eax, dword [esp + 0x10]
mov edx, esi
mov dword [esp + 0x4c], edx
mov ecx, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
test edi, edi
jne 0x10068f5e
movzx ebx, word [esp + 0x68]
mov dword [esp + 0x3c], edi
mov edi, ecx
mov dword [esp + 0x1c], esi
mov eax, ebx
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x10068f7d
lea ebx, [edi + 4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xa0], edx
mov edx, esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], esi
mov byte [esp + 0x34], 0
mov dword [esp + 0x20], 0
test eax, eax
je 0x10068b22
push 1
lea edx, [esp + 0x38]
push edx
mov edx, ecx
mov ecx, ebp
call eax
cmp eax, 1
jne 0x10068f55
mov al, byte [esp + 0x34]
mov edx, esi
jmp 0x10068b31
cmp ecx, dword [ebp + 4]
jae 0x10068f55
mov eax, dword [ebp]
mov al, byte [ecx + eax]
inc dword [ebp + 8]
lea ecx, [ebx - 4]
mov byte [ecx], al
and al, 0x3f
cmp al, 0x3f
jne 0x10068b60
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.1004a820
mov edi, dword [esp + 0x20]
mov dword [ebx], eax
test edi, edi
jne 0x10068ed3
lea ecx, [ebx - 4]
jmp 0x10068e31
mov dword [esp + 0xa8], 0x636d6170
mov dword [esp + 0xac], 0x68656164
mov dword [esp + 0xb0], 0x68686561
mov dword [esp + 0xb4], 0x686d7478
mov dword [esp + 0xb8], 0x6d617870
mov dword [esp + 0xbc], 0x6e616d65
mov dword [esp + 0xc0], 0x4f532f32
mov dword [esp + 0xc4], 0x706f7374
mov dword [esp + 0xc8], 0x63767420
mov dword [esp + 0xcc], 0x6670676d
mov dword [esp + 0xd0], 0x676c7966
mov dword [esp + 0xd4], 0x6c6f6361
mov dword [esp + 0xd8], 0x70726570
mov dword [esp + 0xdc], 0x43464620
mov dword [esp + 0xe0], 0x564f5247
mov dword [esp + 0xe4], 0x45424454
mov dword [esp + 0xe8], 0x45424c43
mov dword [esp + 0xec], 0x67617370
mov dword [esp + 0xf0], 0x68646d78
mov dword [esp + 0xf4], 0x6b65726e
mov dword [esp + 0xf8], 0x4c545348
mov dword [esp + 0xfc], 0x50434c54
mov dword [esp + 0x100], 0x56444d58
mov dword [esp + 0x104], 0x76686561
mov dword [esp + 0x108], 0x766d7478
mov dword [esp + 0x10c], 0x42415345
mov dword [esp + 0x110], 0x47444546
mov dword [esp + 0x114], 0x47504f53
mov dword [esp + 0x118], 0x47535542
mov dword [esp + 0x11c], 0x45425343
mov dword [esp + 0x120], 0x4a535446
mov dword [esp + 0x124], 0x4d415448
mov dword [esp + 0x128], 0x43424454
mov dword [esp + 0x12c], 0x43424c43
mov dword [esp + 0x130], 0x434f4c52
mov dword [esp + 0x134], 0x4350414c
mov dword [esp + 0x138], 0x53564720
mov dword [esp + 0x13c], 0x73626978
mov dword [esp + 0x140], 0x61636e74
mov dword [esp + 0x144], 0x61766172
mov dword [esp + 0x148], 0x62646174
mov dword [esp + 0x14c], 0x626c6f63
mov dword [esp + 0x150], 0x62736c6e
mov dword [esp + 0x154], 0x63766172
mov dword [esp + 0x158], 0x66647363
mov dword [esp + 0x15c], 0x66656174
mov dword [esp + 0x160], 0x666d7478
mov dword [esp + 0x164], 0x66766172
mov dword [esp + 0x168], 0x67766172
mov dword [esp + 0x16c], 0x68737479
mov dword [esp + 0x170], 0x6a757374
mov dword [esp + 0x174], 0x6c636172
mov dword [esp + 0x178], 0x6d6f7274
mov dword [esp + 0x17c], 0x6d6f7278
mov dword [esp + 0x180], 0x6f706264
mov dword [esp + 0x184], 0x70726f70
mov dword [esp + 0x188], 0x7472616b
mov dword [esp + 0x18c], 0x5a617066
mov dword [esp + 0x190], 0x53696c66
mov dword [esp + 0x194], 0x476c6174
mov dword [esp + 0x198], 0x476c6f63
mov dword [esp + 0x19c], 0x46656174
mov dword [esp + 0x1a0], 0x53696c6c
cmp al, 0x3e
ja 0x10068f3f
movzx eax, al
mov eax, dword [esp + eax*4 + 0xa8]
mov dword [ebx], eax
test eax, eax
je 0x10068f45
mov cl, byte [ecx]
xor esi, esi
shr cl, 6
cmp eax, 0x676c7966
je 0x10068e51
cmp eax, 0x6c6f6361
je 0x10068e51
test cl, cl
je 0x10068e5b
mov esi, 0x100
jmp 0x10068e5b
test cl, cl
mov eax, 0x100
cmove esi, eax
movzx eax, cl
lea edx, [ebx + 4]
mov ecx, ebp
or esi, eax
call fcn.10068830
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x10068ed3
mov eax, dword [ebx + 4]
lea ecx, [ebx + 8]
mov edx, dword [esp + 0xa0]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], edx
test esi, 0x100
je 0x10068ee3
mov edx, ecx
mov ecx, ebp
call fcn.10068830
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x10068ed3
cmp dword [ebx], 0x6c6f6361
mov edi, dword [esp + 0xa0]
mov edx, edi
mov ecx, dword [esp + 0x2c]
mov eax, ecx
mov dword [esp + 0x4c], edx
jne 0x10068ee0
cmp dword [ebx + 8], 0
lea ecx, [ebx + 8]
mov dword [esp + 0x4c], edi
je 0x10068ee3
mov edi, 8
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
jmp 0x10069699
lea ecx, [ebx + 8]
mov edi, dword [esp + 0x38]
mov ecx, dword [ecx]
add edi, ecx
cmp edi, dword [esp + 0x38]
jb 0x10068ece
mov ebp, dword [esp + 0x38]
mov dword [ebx + 0xc], esi
mov esi, dword [esp + 0x3c]
mov dword [ebx + 0x14], ecx
lea ecx, [ebx - 4]
mov dword [ebx + 0x10], ebp
add ebx, 0x20
mov ebp, dword [esp + 0x50]
mov dword [edx + esi*4], ecx
inc esi
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x44]
mov esi, edi
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x3c], eax
jge 0x10068f33
mov edi, ecx
jmp 0x10068ad0
mov ebx, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebx
jmp 0x10068f81
mov dword [ebx], 0
mov eax, dword [esp + 0x48]
mov edi, 8
mov ebx, edx
jmp 0x10069699
mov edi, 0x55
mov byte [ebx - 4], 0
mov ebx, dword [esp + 0x1c]
jmp 0x10069695
xor edx, edx
mov dword [esp + 0x10], eax
xor ebx, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
jmp 0x10068f85
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov si, word [esp + 0x68]
movzx eax, si
mov eax, dword [edx + eax*4 - 4]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [esp + 0x88], eax
cmp eax, ecx
jb 0x10069690
mov dword [esp + 0x90], 0
mov eax, 1
mov word [esp + 0x94], ax
cmp edi, 0x74746366
jne 0x10069219
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.1004a820
mov edi, dword [esp + 0x20]
mov dword [esp + 0x90], eax
test edi, edi
jne 0x10069695
cmp eax, 0x10000
je 0x10068ffc
cmp eax, 0x20000
jne 0x10069690
lea edx, [esp + 0x94]
mov ecx, ebp
call fcn.10068690
mov edi, eax
test edi, edi
jne 0x1006924e
cmp word [esp + 0x94], ax
jne 0x1006903b
mov edx, dword [esp + 0x9c]
lea edi, [eax + 8]
mov eax, dword [esp + 0x10]
mov esi, edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
jmp 0x1006969d
movzx eax, word [esp + 0x94]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10069204
lea esi, [eax + eax*2]
mov eax, dword [esp + 0x28]
shl esi, 2
mov ecx, eax
mov edx, esi
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov edi, 0x40
xor eax, eax
mov dword [esp + 0x18], edx
test edx, edx
cmovne edi, eax
je 0x10069099
push esi
push eax
push edx
call fcn.1018fe70
movzx eax, word [esp + 0xa0]
add esp, 0xc
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
jmp 0x100690c1
mov dword [esp + 0x20], edi
mov eax, edx
mov dword [esp + 0x18], edx
test edi, edi
jne 0x1006923d
xor ecx, ecx
mov dword [esp + 0x38], ecx
movzx ecx, word [esp + 0x94]
test ecx, ecx
je 0x100691e4
lea ebx, [eax + 4]
mov edx, ebx
mov ecx, ebp
call fcn.10068690
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x10069239
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.1004a820
mov edi, dword [esp + 0x20]
mov dword [ebx - 4], eax
test edi, edi
jne 0x10069239
movzx eax, word [ebx]
test eax, eax
je 0x10069141
lea ebp, [eax + eax]
mov eax, dword [esp + 0x28]
mov ecx, eax
mov edx, ebp
mov eax, dword [eax + 4]
call eax
mov esi, eax
mov edi, 0x40
xor eax, eax
test esi, esi
cmovne edi, eax
je 0x10069130
push ebp
push eax
push esi
call fcn.1018fe70
add esp, 0xc
mov dword [esp + 0x20], edi
mov dword [ebx + 4], esi
jmp 0x10069150
mov dword [esp + 0x20], edi
mov dword [ebx + 4], esi
test edi, edi
jne 0x10069239
jmp 0x10069150
mov dword [esp + 0x20], 0
mov dword [ebx + 4], 0
xor eax, eax
mov dword [esp + 0x3c], 0
xor esi, esi
xor ebp, ebp
cmp ax, word [ebx]
jae 0x100691ca
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x34]
call fcn.10068690
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x10069239
mov cx, word [esp + 0x34]
cmp cx, word [esp + 0x68]
jae 0x10069234
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x4c]
mov word [eax + ebp*2], cx
movzx ecx, cx
mov eax, dword [edx + ecx*4]
mov eax, dword [eax + 4]
cmp eax, 0x6c6f6361
jne 0x100691f7
mov esi, ecx
mov ecx, dword [esp + 0x3c]
movzx eax, word [ebx]
inc ebp
cmp ebp, eax
jb 0x10069163
test ecx, ecx
jne 0x100691bf
test esi, esi
je 0x100691ca
cmp ecx, esi
ja 0x10069234
sub esi, ecx
cmp esi, 1
jne 0x10069234
mov esi, dword [esp + 0x38]
add ebx, 0xc
mov ebp, dword [esp + 0x50]
inc esi
mov dword [esp + 0x38], esi
cmp esi, dword [esp + 0x2c]
jl 0x100690c4
mov eax, dword [esp + 0x60]
mov si, word [esp + 0x68]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x24], eax
jmp 0x1006921f
cmp eax, 0x676c7966
jne 0x100691ab
mov dword [esp + 0x3c], ecx
jmp 0x100691af
mov eax, dword [esp + 0x60]
mov si, word [esp + 0x68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
add ecx, 3
add ecx, dword [ebp + 8]
and ecx, 0xfffffffc
cmp ecx, ebx
jbe 0x10069266
mov edi, 8
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1006969d
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
jmp 0x1006969d
mov edx, dword [esp + 0x74]
test edx, edx
je 0x1006927e
cmp ecx, edx
jne 0x10069234
mov ecx, dword [esp + 0x78]
add ecx, 3
add ecx, edx
and ecx, 0xfffffffc
mov edx, dword [esp + 0x80]
test edx, edx
je 0x1006929c
cmp ecx, edx
jne 0x10069234
mov ecx, dword [esp + 0x84]
add ecx, 3
add ecx, edx
and ecx, 0xfffffffc
lea eax, [ebx + 3]
and eax, 0xfffffffc
cmp ecx, eax
jne 0x10069234
mov ecx, dword [esp + 0xa4]
movzx eax, word [esp + 0x94]
mov edx, dword [esp + 0x40]
mov dword [ecx], eax
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
test ecx, ecx
jns 0x100692c6
dec edx
cmp edx, eax
jl 0x100692e8
xor edx, edx
test ecx, ecx
js 0x100692e8
lea edi, [edx + 6]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1006969f
cmp dword [esp + 0x90], 0
je 0x100694b8
lea eax, [edx + edx*2]
lea ebx, [edi + eax*4]
movzx eax, word [ebx + 4]
test eax, eax
je 0x1006934b
lea esi, [eax*4]
mov eax, dword [esp + 0x28]
mov ecx, eax
mov edx, esi
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov edi, 0x40
xor eax, eax
mov dword [esp + 0x24], edx
test edx, edx
cmovne edi, eax
je 0x1006933d
push esi
push eax
push edx
call fcn.1018fe70
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x10069351
mov dword [esp + 0x24], edx
test edi, edi
jne 0x10069239
jmp 0x10069351
xor edx, edx
mov dword [esp + 0x24], edx
movzx eax, word [ebx + 4]
xor esi, esi
xor ecx, ecx
mov edi, eax
cmp si, ax
mov dword [esp + 0x40], edi
mov esi, dword [esp + 0x4c]
jae 0x1006938a
nop dword [eax + eax]
mov eax, dword [ebx + 8]
movzx eax, word [eax + ecx*2]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
inc ecx
movzx edi, word [ebx + 4]
cmp ecx, edi
jl 0x10069370
mov dword [esp + 0x40], edi
movzx edx, word [esp + 0x68]
movzx eax, di
xor edi, edi
mov dword [esp + 0x1c], esi
test eax, eax
je 0x1006944b
shl eax, 2
test edx, edx
jne 0x100693e3
mov edx, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov edi, 0x40
xor eax, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov esi, ecx
cmovne edi, eax
mov dword [esp + 0x2c], edi
jne 0x10069419
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
test edi, edi
jne 0x10069239
jmp 0x10069468
push esi
push eax
mov eax, dword [esp + 0x30]
mov ecx, eax
shl edx, 2
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
jne 0x10069411
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 0x40]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x1006969d
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x40]
movzx ecx, word [esp + 0x68]
mov ebp, dword [esp + 0x50]
movzx eax, dx
cmp eax, ecx
jbe 0x100693ce
sub eax, ecx
shl eax, 2
push eax
lea eax, [esi + ecx*4]
push 0
push eax
call fcn.1018fe70
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x10069468
test esi, esi
je 0x1006945c
mov eax, dword [esp + 0x28]
mov edx, esi
mov ecx, eax
mov eax, dword [eax + 8]
call eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x24]
xor eax, eax
xor ecx, ecx
cmp ax, word [ebx + 4]
jae 0x10069492
mov edi, edx
sub edi, esi
nop word [eax + eax]
mov eax, dword [edi + esi]
lea esi, [esi + 4]
mov dword [esi - 4], eax
inc ecx
movzx eax, word [ebx + 4]
cmp ecx, eax
jl 0x10069480
test edx, edx
je 0x100694a1
mov eax, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [ebx]
mov si, word [ebx + 4]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x24], edx
mov dword [esp + 0x60], edx
mov word [esp + 0x68], si
mov ecx, dword [esp + 0x6c]
movzx esi, si
shl esi, 4
add esi, 0xc
cmp ecx, esi
jbe 0x100694e5
mov eax, ecx
shr eax, 6
cmp eax, ebx
jbe 0x100694d9
mov esi, ebx
shl esi, 6
jmp 0x100694db
mov esi, ecx
mov eax, 0x4000000
cmp esi, eax
cmovae esi, eax
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
mov edx, esi
mov ecx, ebx
call fcn.1004abc0
mov edi, dword [esp + 0x20]
mov edx, eax
mov dword [esp + 0x30], edx
test edi, edi
jne 0x100692d3
mov eax, dword [ebx + 4]
lea edx, [edi + 0x28]
mov ecx, ebx
call eax
mov edx, dword [esp + 0x30]
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x10069535
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 0x40]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
jmp 0x1006969f
mov ebx, dword [esp + 0x24]
xorps xmm0, xmm0
mov di, word [esp + 0x68]
mov eax, ebx
movups xmmword [ecx], xmm0
shr eax, 0x18
movups xmmword [ecx + 0x10], xmm0
mov dword [esp + 0x20], 0
movq qword [ecx + 0x20], xmm0
mov byte [edx], al
mov eax, ebx
shr eax, 0x10
mov byte [edx + 1], al
mov al, byte [esp + 0x60]
shr ebx, 8
mov byte [edx + 2], bl
mov byte [edx + 3], al
mov dword [esp + 0x14], ecx
test di, di
je 0x100695e6
movzx eax, di
xor ebx, ebx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x10069595
mov dword [esp + 0x14], ecx
nop dword [eax + eax]
inc ebx
shr eax, 1
jne 0x10069590
dec ebx
mov eax, 1
mov ecx, ebx
shl eax, cl
shl eax, 4
mov dword [esp + 0x40], eax
movzx ecx, di
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x68]
shr eax, 8
mov byte [edx + 4], al
mov al, byte [esp + 0x68]
mov byte [edx + 5], al
mov eax, dword [esp + 0x40]
shr eax, 8
mov byte [edx + 6], al
mov eax, dword [esp + 0x40]
mov byte [edx + 7], al
mov eax, ebx
shr eax, 8
mov byte [edx + 8], al
mov eax, ecx
shr eax, 8
mov byte [edx + 9], bl
mov byte [edx + 0xa], al
mov byte [edx + 0xb], cl
mov ebx, dword [esp + 0x1c]
push 0x10067d40
push 4
movzx eax, di
push eax
push ebx
call fcn.1019b300
mov edx, dword [esp + 0x98]
add esp, 0x10
cmp edx, 1
jae 0x10069621
mov edi, 8
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
jmp 0x1006969f
cmp edx, esi
ja 0x1006960a
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
call fcn.1004abc0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x54], eax
test edi, edi
jne 0x1006960f
mov edx, dword [esp + 0x70]
mov ecx, ebp
call fcn.1004a740
mov edi, eax
test edi, edi
jne 0x1006960f
lea edi, [eax + 7]
cmp dword [ebp + 0x14], eax
je 0x10069670
mov edx, dword [ebp]
mov eax, dword [ebp + 0x1c]
test edx, edx
je 0x10069669
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov dword [ebp], 0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
jmp 0x1006969f
mov edi, 8
mov eax, dword [esp + 0x10]
xor esi, esi
mov ecx, esi
xor edx, edx
mov ebp, dword [esp + 0x28]
test eax, eax
je 0x100696b2
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
jmp 0x100696c2
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x54], eax
test ebx, ebx
je 0x100696cf
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, dword [esp + 0x54]
test eax, eax
je 0x100696e0
mov edx, eax
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
test esi, esi
je 0x1006971b
movzx ebx, word [esp + 0x94]
test ebx, ebx
je 0x10069712
add esi, 8
mov edx, dword [esi]
test edx, edx
je 0x10069700
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov dword [esi], 0
add esi, 0xc
sub ebx, 1
jne 0x100696f3
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, esi
mov ecx, ebp
call eax
test edi, edi
je 0x1006974a
mov edx, dword [esp + 0x30]
test edx, edx
je 0x1006972e
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x1006974a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10069741
mov ecx, ebx
call eax
mov esi, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call esi
mov eax, edi
jmp 0x1006898a