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

Disassembly:
sub esp, 0x194
mov eax, dword [0x1020c0c0]
xor eax, esp
mov dword [esp + 0x190], eax
push ebx
push edi
mov ebx, ecx
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x1a0]
xor edx, edx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x94], ecx
xor ecx, ecx
mov ecx, dword [eax]
mov eax, ecx
neg eax
mov dword [esp + 8], edx
test ecx, ecx
mov dword [esp + 0x2c], edx
mov edi, dword [ebx + 0x1c]
cmovns eax, ecx
movzx eax, ax
mov ecx, ebx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], edx
mov edx, 0x101e3324
push eax
mov dword [esp + 0x20], edi
call fcn.1004c290
test eax, eax
jne 0x1006ac62
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
push ebp
push esi
cmp eax, 0x774f4632
je 0x1006ac5b
mov edx, dword [esp + 0x5c]
cmp edx, dword [ebx + 4]
jne 0x1006ac5b
mov ax, word [esp + 0x60]
test ax, ax
je 0x1006ac5b
movzx ebp, ax
lea eax, [ebp*4]
add eax, ebp
lea eax, [eax*4 + 0x30]
cmp eax, edx
jae 0x1006ac5b
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
test ecx, ecx
jne 0x1006ac7b
test esi, esi
jne 0x1006ac5b
cmp dword [esp + 0x74], esi
je 0x1006ac86
mov eax, 8
pop esi
pop ebp
mov ecx, dword [esp + 0x198]
pop edi
pop ebx
xor ecx, esp
call fcn.101a0143
add esp, 0x194
ret 8
test esi, esi
je 0x1006ac86
cmp dword [esp + 0x74], 0
je 0x1006ac5b
cmp ecx, edx
jae 0x1006ac5b
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x1006ac5b
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
test ecx, ecx
jne 0x1006aca2
test esi, esi
jne 0x1006ac5b
cmp ecx, edx
jae 0x1006ac5b
mov eax, edx
sub eax, ecx
cmp eax, esi
jb 0x1006ac5b
xor eax, eax
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x94], eax
test ebp, ebp
je 0x1006b26d
mov eax, dword [edi + 4]
mov edx, ebp
shl edx, 5
mov ecx, edi
call eax
mov edi, eax
mov dword [esp + 0x14], eax
test edi, edi
mov ecx, 0x40
cmove esi, ecx
test esi, esi
jne 0x1006b264
mov dword [esp + 0x14], edi
test edi, edi
je 0x1006ad07
mov eax, ebp
shl eax, 5
push eax
push esi
push edi
call fcn.101a2030
add esp, 0xc
mov dword [esp + 0x14], edi
jmp 0x1006ad15
test esi, esi
jne 0x1006b264
mov dword [esp + 0x14], eax
mov edi, eax
mov eax, dword [esp + 0x24]
lea edx, [ebp*4]
mov ecx, eax
xor esi, esi
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov eax, 0x40
test ecx, ecx
mov dword [esp + 0x10], ecx
cmove esi, eax
mov eax, ecx
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x1006ad70
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1006ad70
lea eax, [ebp*4]
push eax
push esi
push ecx
call fcn.101a2030
mov edx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov esi, edx
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x60]
jmp 0x1006ada3
mov dword [esp + 0x20], esi
mov edx, eax
mov dword [esp + 0x10], edx
test esi, esi
jne 0x1006b266
movzx ecx, word [esp + 0x60]
xor eax, eax
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
test ecx, ecx
je 0x1006b281
mov ecx, dword [esp + 0x14]
lea edi, [ecx + 4]
nop word [eax + eax]
mov dword [esp + 0x48], eax
mov ebp, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x1c], edx
mov byte [esp + 0x38], 0
mov dword [esp + 0x20], 0
test eax, eax
je 0x1006ae08
push 1
lea edx, [esp + 0x3c]
push edx
mov edx, ecx
mov ecx, ebx
call eax
cmp eax, 1
jne 0x1006b250
mov al, byte [esp + 0x38]
mov edx, dword [esp + 0x1c]
jmp 0x1006ae16
cmp ecx, dword [ebx + 4]
jae 0x1006b250
mov eax, dword [ebx]
mov al, byte [ecx + eax]
inc dword [ebx + 8]
lea ecx, [edi - 4]
mov byte [ecx], al
and al, 0x3f
cmp al, 0x3f
jne 0x1006ae45
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.1004c210
mov esi, dword [esp + 0x20]
mov dword [edi], eax
test esi, esi
jne 0x1006b209
lea ecx, [edi - 4]
jmp 0x1006b116
mov dword [esp + 0xa4], 0x636d6170
mov dword [esp + 0xa8], 0x68656164
mov dword [esp + 0xac], 0x68686561
mov dword [esp + 0xb0], 0x686d7478
mov dword [esp + 0xb4], 0x6d617870
mov dword [esp + 0xb8], 0x6e616d65
mov dword [esp + 0xbc], 0x4f532f32
mov dword [esp + 0xc0], 0x706f7374
mov dword [esp + 0xc4], 0x63767420
mov dword [esp + 0xc8], 0x6670676d
mov dword [esp + 0xcc], 0x676c7966
mov dword [esp + 0xd0], 0x6c6f6361
mov dword [esp + 0xd4], 0x70726570
mov dword [esp + 0xd8], 0x43464620
mov dword [esp + 0xdc], 0x564f5247
mov dword [esp + 0xe0], 0x45424454
mov dword [esp + 0xe4], 0x45424c43
mov dword [esp + 0xe8], 0x67617370
mov dword [esp + 0xec], 0x68646d78
mov dword [esp + 0xf0], 0x6b65726e
mov dword [esp + 0xf4], 0x4c545348
mov dword [esp + 0xf8], 0x50434c54
mov dword [esp + 0xfc], 0x56444d58
mov dword [esp + 0x100], 0x76686561
mov dword [esp + 0x104], 0x766d7478
mov dword [esp + 0x108], 0x42415345
mov dword [esp + 0x10c], 0x47444546
mov dword [esp + 0x110], 0x47504f53
mov dword [esp + 0x114], 0x47535542
mov dword [esp + 0x118], 0x45425343
mov dword [esp + 0x11c], 0x4a535446
mov dword [esp + 0x120], 0x4d415448
mov dword [esp + 0x124], 0x43424454
mov dword [esp + 0x128], 0x43424c43
mov dword [esp + 0x12c], 0x434f4c52
mov dword [esp + 0x130], 0x4350414c
mov dword [esp + 0x134], 0x53564720
mov dword [esp + 0x138], 0x73626978
mov dword [esp + 0x13c], 0x61636e74
mov dword [esp + 0x140], 0x61766172
mov dword [esp + 0x144], 0x62646174
mov dword [esp + 0x148], 0x626c6f63
mov dword [esp + 0x14c], 0x62736c6e
mov dword [esp + 0x150], 0x63766172
mov dword [esp + 0x154], 0x66647363
mov dword [esp + 0x158], 0x66656174
mov dword [esp + 0x15c], 0x666d7478
mov dword [esp + 0x160], 0x66766172
mov dword [esp + 0x164], 0x67766172
mov dword [esp + 0x168], 0x68737479
mov dword [esp + 0x16c], 0x6a757374
mov dword [esp + 0x170], 0x6c636172
mov dword [esp + 0x174], 0x6d6f7274
mov dword [esp + 0x178], 0x6d6f7278
mov dword [esp + 0x17c], 0x6f706264
mov dword [esp + 0x180], 0x70726f70
mov dword [esp + 0x184], 0x7472616b
mov dword [esp + 0x188], 0x5a617066
mov dword [esp + 0x18c], 0x53696c66
mov dword [esp + 0x190], 0x476c6174
mov dword [esp + 0x194], 0x476c6f63
mov dword [esp + 0x198], 0x46656174
mov dword [esp + 0x19c], 0x53696c6c
cmp al, 0x3e
ja 0x1006b238
movzx eax, al
mov eax, dword [esp + eax*4 + 0xa4]
mov dword [edi], eax
test eax, eax
je 0x1006b23e
mov al, byte [ecx]
xor ebx, ebx
mov ecx, dword [edi]
shr al, 6
cmp ecx, 0x676c7966
je 0x1006b13a
cmp ecx, 0x6c6f6361
je 0x1006b13a
test al, al
je 0x1006b144
mov ebx, 0x100
jmp 0x1006b144
test al, al
mov ecx, 0x100
cmove ebx, ecx
mov ecx, dword [esp + 0x40]
lea edx, [edi + 4]
movzx eax, al
or ebx, eax
call fcn.1006ab00
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
jne 0x1006b209
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x98]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], esi
test ebx, 0x100
je 0x1006b1bf
mov ecx, dword [esp + 0x40]
lea edx, [edi + 8]
call fcn.1006ab00
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
jne 0x1006b21f
cmp dword [edi], 0x6c6f6361
mov edx, dword [esp + 0x98]
mov esi, edx
mov ecx, dword [esp + 0x48]
mov eax, ecx
mov dword [esp + 0x3c], esi
jne 0x1006b1bf
cmp dword [edi + 8], 0
mov dword [esp + 0x3c], edx
jne 0x1006b21a
mov ebp, dword [esp + 0x34]
mov ecx, dword [edi + 8]
lea edx, [ecx + ebp]
cmp edx, ebp
jb 0x1006b21a
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x44]
mov dword [edi + 0x14], ecx
lea ecx, [edi - 4]
mov dword [edi + 0x10], ebp
add edi, 0x20
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + ebx*4], ecx
inc ebx
mov ecx, dword [esp + 0x50]
cmp ebx, eax
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
jge 0x1006b232
jmp 0x1006adb0
mov edx, dword [esp + 0x1c]
mov ecx, ebp
mov dword [esp + 0x10], edx
xor edi, edi
jmp 0x1006b447
mov esi, 8
mov edx, dword [esp + 0x1c]
xor edi, edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], edx
jmp 0x1006b447
mov dword [esp + 0x14], ecx
jmp 0x1006b27d
mov dword [edi], 0
mov esi, 8
mov dword [esp + 0x10], edx
mov ecx, ebp
xor edi, edi
jmp 0x1006b447
mov esi, 0x55
mov byte [edi - 4], 0
mov edx, dword [esp + 0x10]
xor edi, edi
jmp 0x1006b443
xor edx, edx
xor edi, edi
jmp 0x1006b443
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
xor edx, edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edx
mov di, word [esp + 0x60]
movzx eax, di
mov eax, dword [esi + eax*4 - 4]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [esp + 0x80], eax
cmp eax, ecx
jae 0x1006b2ac
mov esi, 8
xor edi, edi
jmp 0x1006b443
mov eax, 1
xor esi, esi
cmp dword [esp + 0x2c], 0x74746366
mov word [esp + 0x8c], ax
jne 0x1006b53c
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.1004c210
mov esi, dword [esp + 0x20]
mov dword [esp + 0x88], eax
test esi, esi
jne 0x1006b259
cmp eax, 0x10000
je 0x1006b305
cmp eax, 0x20000
je 0x1006b305
mov edx, dword [esp + 0x10]
mov esi, 8
xor edi, edi
jmp 0x1006b443
lea edx, [esp + 0x8c]
mov ecx, ebx
call fcn.1006a960
mov esi, eax
test esi, esi
jne 0x1006b326
cmp word [esp + 0x8c], ax
jne 0x1006b33a
lea esi, [eax + 8]
mov edi, dword [esp + 0x94]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], edi
jmp 0x1006b443
movzx eax, word [esp + 0x8c]
xor esi, esi
mov dword [esp + 0x34], eax
test eax, eax
je 0x1006b51e
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x24]
shl edi, 2
mov ecx, eax
mov edx, edi
mov eax, dword [eax + 4]
call eax
test eax, eax
mov dword [esp + 0x18], eax
mov ecx, 0x40
mov ebp, eax
cmove esi, ecx
test esi, esi
jne 0x1006b39c
test eax, eax
je 0x1006b39c
push edi
mov edi, eax
push esi
push edi
call fcn.101a2030
add esp, 0xc
xor eax, eax
mov dword [esp + 0x2c], eax
movzx eax, word [esp + 0x8c]
mov dword [esp + 0x34], eax
jmp 0x1006b3c0
mov edi, ebp
xor eax, eax
mov dword [esp + 0x18], edi
test esi, esi
jne 0x1006ba39
mov dword [esp + 0x2c], eax
movzx eax, word [esp + 0x8c]
test eax, eax
je 0x1006b522
add ebp, 4
mov edx, ebp
mov ecx, ebx
call fcn.1006a960
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
jne 0x1006b43b
lea edx, [esp + 0x20]
mov ecx, ebx
call fcn.1004c210
mov esi, dword [esp + 0x20]
mov dword [ebp - 4], eax
test esi, esi
jne 0x1006b43b
movzx eax, word [ebp]
test eax, eax
je 0x1006b46b
lea ebx, [eax + eax]
mov eax, dword [esp + 0x24]
mov ecx, eax
mov edx, ebx
mov eax, dword [eax + 4]
call eax
mov edi, eax
mov eax, 0x40
test edi, edi
cmove esi, eax
mov eax, edi
mov dword [esp + 0x48], esi
test esi, esi
jne 0x1006b434
test edi, edi
je 0x1006b434
push ebx
push esi
push edi
call fcn.101a2030
mov eax, esi
mov dword [ebp + 4], edi
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x1006b472
mov dword [ebp + 4], eax
test esi, esi
je 0x1006b472
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
xor ebp, ebp
test ecx, ecx
je 0x1006ba46
mov ebp, dword [esp + 0x24]
mov edx, ecx
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
mov edx, dword [esp + 0x10]
jmp 0x1006ba52
mov dword [esp + 0x20], esi
mov dword [ebp + 4], esi
xor eax, eax
mov dword [esp + 0x44], 0
xor edi, edi
xor ebx, ebx
cmp ax, word [ebp]
jae 0x1006b4ec
nop word [eax + eax]
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x38]
call fcn.1006a960
mov esi, eax
test esi, esi
jne 0x1006b43b
mov cx, word [esp + 0x38]
cmp cx, word [esp + 0x60]
jae 0x1006b514
mov eax, dword [ebp + 4]
mov word [eax + ebx*2], cx
mov eax, dword [esp + 0x3c]
movzx ecx, cx
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 4]
cmp eax, 0x6c6f6361
jne 0x1006b507
mov edi, ecx
mov ecx, dword [esp + 0x44]
movzx eax, word [ebp]
inc ebx
cmp ebx, eax
jb 0x1006b490
test ecx, ecx
jne 0x1006b4e1
test edi, edi
je 0x1006b4ec
cmp ecx, edi
ja 0x1006b514
sub edi, ecx
cmp edi, 1
jne 0x1006b514
mov edi, dword [esp + 0x2c]
add ebp, 0xc
mov ebx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x2c], edi
cmp edi, dword [esp + 0x34]
jge 0x1006b522
jmp 0x1006b3c3
cmp eax, 0x676c7966
jne 0x1006b4cc
mov dword [esp + 0x44], ecx
jmp 0x1006b4d0
mov esi, 8
jmp 0x1006b43b
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x10]
mov di, word [esp + 0x60]
mov dword [esp + 0x2c], eax
jmp 0x1006b540
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
add ecx, 3
add ecx, dword [ebx + 8]
and ecx, 0xfffffffc
cmp ecx, ebp
jbe 0x1006b55f
mov esi, 8
jmp 0x1006b43f
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1006b581
cmp ecx, eax
je 0x1006b575
mov esi, 8
jmp 0x1006b43f
mov ecx, dword [esp + 0x70]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
mov eax, dword [esp + 0x78]
test eax, eax
je 0x1006b5a3
cmp ecx, eax
je 0x1006b597
mov esi, 8
jmp 0x1006b43f
mov ecx, dword [esp + 0x7c]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
lea eax, [ebp + 3]
and eax, 0xfffffffc
cmp ecx, eax
je 0x1006b5b7
mov esi, 8
jmp 0x1006b43f
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
movzx eax, word [esp + 0x8c]
mov ebx, dword [esp + 0x4c]
mov dword [ecx], eax
mov edx, dword [edx]
test edx, edx
lea ecx, [ebx - 1]
cmovns ecx, ebx
cmp ecx, eax
jl 0x1006b5f1
test edx, edx
js 0x1006b5ef
mov esi, 6
jmp 0x1006b43b
xor ecx, ecx
test esi, esi
je 0x1006b798
lea eax, [ecx + ecx*2]
xor esi, esi
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + eax*4]
movzx eax, word [ebx + 4]
test eax, eax
je 0x1006b65e
lea ebp, [eax*4]
mov eax, dword [esp + 0x24]
mov ecx, eax
mov edx, ebp
mov eax, dword [eax + 4]
call eax
mov edi, eax
mov eax, 0x40
test edi, edi
mov dword [esp + 0x1c], edi
cmove esi, eax
test esi, esi
jne 0x1006b43b
mov dword [esp + 0x1c], edi
test edi, edi
je 0x1006b650
push ebp
push esi
push edi
call fcn.101a2030
add esp, 0xc
mov esi, edi
jmp 0x1006b660
test esi, esi
jne 0x1006b43b
mov esi, dword [esp + 0x1c]
jmp 0x1006b664
xor esi, esi
mov dword [esp + 0x1c], esi
movzx eax, word [ebx + 4]
xor edi, edi
xor ecx, ecx
mov edx, eax
cmp di, ax
jae 0x1006b696
mov edi, dword [esp + 0x3c]
nop word [eax + eax]
mov eax, dword [ebx + 8]
movzx eax, word [eax + ecx*2]
mov eax, dword [edi + eax*4]
mov dword [esi + ecx*4], eax
inc ecx
movzx edx, word [ebx + 4]
cmp ecx, edx
jl 0x1006b680
mov ecx, dword [esp + 0x3c]
xor esi, esi
movzx eax, word [esp + 0x60]
movzx ebp, dx
mov dword [esp + 0x10], ecx
test ebp, ebp
je 0x1006b735
lea edx, [ebp*4]
test eax, eax
jne 0x1006b6f0
mov eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov eax, 0x40
test ecx, ecx
mov dword [esp + 0x10], ecx
mov edi, ecx
cmove esi, eax
test esi, esi
jne 0x1006b6e0
test edi, edi
jne 0x1006b716
mov edx, edi
mov dword [esp + 0x10], edx
test esi, esi
jne 0x1006b43f
jmp 0x1006b74c
push ecx
push edx
lea edx, [eax*4]
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
jne 0x1006b712
lea esi, [eax + 0x40]
jmp 0x1006b43b
mov dword [esp + 0x10], edi
movzx eax, word [esp + 0x60]
cmp ebp, eax
jbe 0x1006b6e0
sub ebp, eax
lea eax, [edi + eax*4]
shl ebp, 2
push ebp
push 0
push eax
call fcn.101a2030
add esp, 0xc
jmp 0x1006b74c
test ecx, ecx
je 0x1006b746
mov eax, dword [esp + 0x24]
mov edx, ecx
mov ecx, eax
mov eax, dword [eax + 8]
call eax
xor edi, edi
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x1c]
xor eax, eax
xor ecx, ecx
cmp ax, word [ebx + 4]
jae 0x1006b772
mov esi, edx
sub esi, edi
nop
mov eax, dword [esi + edi]
lea edi, [edi + 4]
mov dword [edi - 4], eax
inc ecx
movzx eax, word [ebx + 4]
cmp ecx, eax
jl 0x1006b760
test edx, edx
je 0x1006b781
mov eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
mov di, word [ebx + 4]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x58], eax
mov word [esp + 0x60], di
mov ecx, dword [esp + 0x64]
movzx eax, di
mov dword [esp + 0x34], eax
shl eax, 4
mov dword [esp + 0x4c], eax
lea edi, [eax + 0xc]
mov ebx, edi
cmp ecx, edi
jbe 0x1006b7da
mov eax, ecx
shr eax, 6
cmp eax, ebp
jbe 0x1006b7c3
mov edi, ebp
shl edi, 6
jmp 0x1006b7c5
mov edi, ecx
mov ebx, edi
cmp edi, 0x4000000
jb 0x1006b7da
mov edi, 0x4000000
xor esi, esi
mov ebx, edi
jmp 0x1006b7e2
xor esi, esi
xor ebp, ebp
test ebx, ebx
jle 0x1006b817
mov eax, dword [esp + 0x24]
mov edx, ebx
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov ebp, eax
test ebp, ebp
jne 0x1006b7fa
mov esi, 0x40
mov dword [esp + 0x28], ebp
test esi, esi
jne 0x1006b839
test ebp, ebp
je 0x1006b839
test ebx, ebx
jle 0x1006b839
push ebx
push esi
push ebp
call fcn.101a2030
add esp, 0xc
jmp 0x1006b845
jns 0x1006b7fa
mov edx, dword [esp + 0x10]
xor ebp, ebp
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x18]
mov esi, 6
mov dword [esp + 0x28], ebp
xor eax, eax
jmp 0x1006b44d
mov dword [esp + 0x28], ebp
test esi, esi
jne 0x1006ba20
mov ebx, dword [esp + 0x24]
mov edx, 0x28
mov ecx, ebx
mov eax, dword [ebx + 4]
call eax
mov dword [esp + 0x30], eax
test eax, eax
jne 0x1006b877
mov edx, dword [esp + 0x10]
lea esi, [eax + 0x40]
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
jmp 0x1006b44d
mov ecx, dword [esp + 0x2c]
lea edx, [ebp + 1]
xorps xmm0, xmm0
mov esi, eax
movups xmmword [eax], xmm0
mov dword [esp + 0x30], esi
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
mov eax, ecx
shr eax, 0x18
mov byte [ebp], al
mov eax, ecx
mov ebp, dword [esp + 0x34]
shr eax, 0x10
mov byte [edx], al
mov al, byte [esp + 0x58]
shr ecx, 8
cmp word [esp + 0x60], 0
mov byte [edx + 1], cl
mov byte [edx + 2], al
je 0x1006b926
mov eax, ebp
mov dword [esp + 0x30], esi
xor ecx, ecx
test eax, eax
je 0x1006b8d5
mov dword [esp + 0x30], esi
nop dword [eax + eax]
inc ecx
shr eax, 1
jne 0x1006b8d0
mov ebx, dword [esp + 0x4c]
dec ecx
mov eax, 1
shl eax, cl
shl eax, 4
sub ebx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x60]
shr eax, 8
mov byte [edx + 3], al
mov al, byte [esp + 0x60]
mov byte [edx + 4], al
mov eax, dword [esp + 0x34]
shr eax, 8
mov byte [edx + 5], al
mov eax, dword [esp + 0x34]
mov byte [edx + 6], al
mov eax, ecx
shr eax, 8
mov byte [edx + 7], al
mov eax, ebx
shr eax, 8
mov byte [edx + 0xa], bl
mov ebx, dword [esp + 0x24]
mov byte [edx + 8], cl
mov byte [edx + 9], al
mov edx, dword [esp + 0x10]
push 0x1006a010
push 4
push ebp
push edx
call fcn.101ad400
mov eax, dword [esp + 0x90]
add esp, 0x10
cmp eax, 1
jae 0x1006b967
mov esi, 8
xor ebx, ebx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
jmp 0x1006b44d
cmp eax, edi
ja 0x1006b947
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x2c], ecx
test eax, eax
jle 0x1006b996
mov edx, eax
mov ecx, ebx
mov eax, dword [ebx + 4]
call eax
mov ebx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x1006b9a1
lea esi, [ebx + 0x40]
jmp 0x1006b9a1
jns 0x1006b99f
mov esi, 6
jmp 0x1006b94c
xor ebx, ebx
test esi, esi
jne 0x1006b9ba
test ebx, ebx
je 0x1006b9ba
test eax, eax
jle 0x1006b9ba
push eax
push esi
push ebx
call fcn.101a2030
add esp, 0xc
jmp 0x1006b9c2
mov dword [esp + 0x2c], ebx
test esi, esi
jne 0x1006b94e
mov ebx, dword [esp + 0x40]
mov ecx, ebx
mov edx, dword [esp + 0x68]
call fcn.1004c140
mov esi, eax
test esi, esi
jne 0x1006ba03
lea esi, [eax + 7]
cmp dword [ebx + 0x14], eax
je 0x1006b9f5
mov edx, dword [ebx]
mov eax, dword [ebx + 0x1c]
test edx, edx
je 0x1006b9ef
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov dword [ebx], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
jmp 0x1006b44d
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
jmp 0x1006b44d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x1006b449
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x30], eax
test edx, edx
je 0x1006ba5d
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
test ebx, ebx
je 0x1006ba6a
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
test edi, edi
je 0x1006baa8
movzx ebx, word [esp + 0x8c]
test ebx, ebx
je 0x1006ba9f
add edi, 8
nop dword [eax]
mov edx, dword [edi]
test edx, edx
je 0x1006ba8d
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov dword [edi], 0
add edi, 0xc
sub ebx, 1
jne 0x1006ba80
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, edi
mov ecx, ebp
call eax
test esi, esi
je 0x1006bad7
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1006babb
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x1006bad7
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1006bace
mov ecx, ebx
call eax
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, esi
jmp 0x1006ac60