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

Disassembly:
sub esp, 0x188
push ebx
mov ebx, ecx
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x190]
push ebp
xor ebp, ebp
mov dword [esp + 0x24], edx
push edi
mov ecx, dword [ecx]
mov eax, ecx
mov edi, dword [ebx + 0x1c]
neg eax
test ecx, ecx
mov dword [esp + 0x2c], edx
mov edx, 0x1013c9d8
mov dword [esp + 0x3c], ebx
cmovns eax, ecx
mov dword [esp + 0x18], edi
movzx eax, ax
mov ecx, ebx
mov dword [esp + 0x48], eax
lea eax, [esp + 0x54]
push eax
call fcn.1000df90
test eax, eax
jne 0x1002c4c8
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
push esi
cmp eax, 0x774f4632
je 0x1002c4c2
mov esi, dword [esp + 0x60]
cmp esi, dword [ebx + 4]
jne 0x1002c4c2
mov ax, word [esp + 0x64]
test ax, ax
je 0x1002c4c2
movzx ecx, ax
mov dword [esp + 0x50], ecx
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x30]
cmp eax, esi
jae 0x1002c4c2
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x1002c4d4
cmp dword [esp + 0x74], ebp
jne 0x1002c4c2
cmp dword [esp + 0x78], ebp
je 0x1002c4e0
mov eax, 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x188
ret 8
cmp dword [esp + 0x74], ebp
je 0x1002c4e0
cmp dword [esp + 0x78], ebp
je 0x1002c4c2
cmp edx, esi
jae 0x1002c4c2
mov eax, esi
sub eax, edx
cmp eax, dword [esp + 0x74]
jb 0x1002c4c2
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x1002c4ff
cmp dword [esp + 0x80], ebp
jne 0x1002c4c2
cmp edx, esi
jae 0x1002c4c2
mov eax, esi
sub eax, edx
cmp eax, dword [esp + 0x80]
jb 0x1002c4c2
xor eax, eax
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x98], eax
test ecx, ecx
je 0x1002ca94
mov eax, dword [edi + 4]
mov edx, ecx
shl edx, 5
mov ecx, edi
call eax
mov edi, eax
mov dword [esp + 0x10], eax
test edi, edi
mov ecx, 0x40
cmove esi, ecx
test esi, esi
jne 0x1002d26d
mov dword [esp + 0x10], edi
test edi, edi
je 0x1002c571
mov eax, dword [esp + 0x50]
shl eax, 5
push eax
push esi
push edi
call fcn.101010f0
mov ebp, dword [esp + 0x5c]
add esp, 0xc
mov dword [esp + 0x10], edi
mov edi, ebp
jmp 0x1002c583
test esi, esi
jne 0x1002d26d
mov edi, dword [esp + 0x50]
mov ebp, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
lea edx, [ebp*4]
mov ecx, eax
xor esi, esi
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov eax, 0x40
test edx, edx
mov dword [esp + 0x14], edx
cmove esi, eax
mov eax, edx
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x1002c5dd
mov dword [esp + 0x3c], edx
test edx, edx
je 0x1002c5dd
lea eax, [ebp*4]
mov ebp, edx
push eax
push esi
push ebp
call fcn.101010f0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov esi, ebp
mov dword [esp + 0x44], eax
mov eax, edi
jmp 0x1002c60b
mov dword [esp + 0x24], esi
mov ebp, eax
test esi, esi
jne 0x1002d26d
mov ecx, dword [esp + 0x10]
xor eax, eax
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
test edi, edi
je 0x1002caa8
lea edi, [ecx + 4]
nop
mov dword [esp + 0x48], eax
mov edx, ecx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x20], ebp
mov byte [esp + 0x38], 0
mov dword [esp + 0x24], 0
test eax, eax
je 0x1002c65d
push 1
lea edx, [esp + 0x3c]
push edx
mov edx, ecx
mov ecx, ebx
call eax
cmp eax, 1
jne 0x1002ca86
mov al, byte [esp + 0x38]
mov edx, dword [esp + 0x14]
jmp 0x1002c66b
cmp ecx, dword [ebx + 4]
jae 0x1002ca86
mov eax, dword [ebx]
mov al, byte [ecx + eax]
inc dword [ebx + 8]
mov byte [edi - 4], al
and al, 0x3f
cmp al, 0x3f
jne 0x1002c695
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.1000df10
mov esi, dword [esp + 0x24]
mov dword [edi], eax
test esi, esi
jne 0x1002ca53
jmp 0x1002c966
mov dword [esp + 0x9c], 0x636d6170
mov dword [esp + 0xa0], 0x68656164
mov dword [esp + 0xa4], 0x68686561
mov dword [esp + 0xa8], 0x686d7478
mov dword [esp + 0xac], 0x6d617870
mov dword [esp + 0xb0], 0x6e616d65
mov dword [esp + 0xb4], 0x4f532f32
mov dword [esp + 0xb8], 0x706f7374
mov dword [esp + 0xbc], 0x63767420
mov dword [esp + 0xc0], 0x6670676d
mov dword [esp + 0xc4], 0x676c7966
mov dword [esp + 0xc8], 0x6c6f6361
mov dword [esp + 0xcc], 0x70726570
mov dword [esp + 0xd0], 0x43464620
mov dword [esp + 0xd4], 0x564f5247
mov dword [esp + 0xd8], 0x45424454
mov dword [esp + 0xdc], 0x45424c43
mov dword [esp + 0xe0], 0x67617370
mov dword [esp + 0xe4], 0x68646d78
mov dword [esp + 0xe8], 0x6b65726e
mov dword [esp + 0xec], 0x4c545348
mov dword [esp + 0xf0], 0x50434c54
mov dword [esp + 0xf4], 0x56444d58
mov dword [esp + 0xf8], 0x76686561
mov dword [esp + 0xfc], 0x766d7478
mov dword [esp + 0x100], 0x42415345
mov dword [esp + 0x104], 0x47444546
mov dword [esp + 0x108], 0x47504f53
mov dword [esp + 0x10c], 0x47535542
mov dword [esp + 0x110], 0x45425343
mov dword [esp + 0x114], 0x4a535446
mov dword [esp + 0x118], 0x4d415448
mov dword [esp + 0x11c], 0x43424454
mov dword [esp + 0x120], 0x43424c43
mov dword [esp + 0x124], 0x434f4c52
mov dword [esp + 0x128], 0x4350414c
mov dword [esp + 0x12c], 0x53564720
mov dword [esp + 0x130], 0x73626978
mov dword [esp + 0x134], 0x61636e74
mov dword [esp + 0x138], 0x61766172
mov dword [esp + 0x13c], 0x62646174
mov dword [esp + 0x140], 0x626c6f63
mov dword [esp + 0x144], 0x62736c6e
mov dword [esp + 0x148], 0x63766172
mov dword [esp + 0x14c], 0x66647363
mov dword [esp + 0x150], 0x66656174
mov dword [esp + 0x154], 0x666d7478
mov dword [esp + 0x158], 0x66766172
mov dword [esp + 0x15c], 0x67766172
mov dword [esp + 0x160], 0x68737479
mov dword [esp + 0x164], 0x6a757374
mov dword [esp + 0x168], 0x6c636172
mov dword [esp + 0x16c], 0x6d6f7274
mov dword [esp + 0x170], 0x6d6f7278
mov dword [esp + 0x174], 0x6f706264
mov dword [esp + 0x178], 0x70726f70
mov dword [esp + 0x17c], 0x7472616b
mov dword [esp + 0x180], 0x5a617066
mov dword [esp + 0x184], 0x53696c66
mov dword [esp + 0x188], 0x476c6174
mov dword [esp + 0x18c], 0x476c6f63
mov dword [esp + 0x190], 0x46656174
mov dword [esp + 0x194], 0x53696c6c
cmp al, 0x3e
ja 0x1002ca70
movzx eax, al
mov eax, dword [esp + eax*4 + 0x9c]
mov dword [edi], eax
test eax, eax
je 0x1002ca76
mov al, byte [edi - 4]
xor ebx, ebx
mov ecx, dword [edi]
shr al, 6
cmp ecx, 0x676c7966
je 0x1002c98b
cmp ecx, 0x6c6f6361
je 0x1002c98b
test al, al
je 0x1002c995
mov ebx, 0x100
jmp 0x1002c995
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.1002c390
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
jne 0x1002ca53
mov eax, dword [edi + 4]
mov esi, dword [esp + 0x54]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], esi
test ebx, 0x100
je 0x1002ca06
mov ecx, dword [esp + 0x40]
lea edx, [edi + 8]
call fcn.1002c390
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
jne 0x1002ca53
cmp dword [edi], 0x6c6f6361
mov edx, dword [esp + 0x54]
mov esi, edx
mov ecx, dword [esp + 0x48]
mov eax, ecx
mov dword [esp + 0x3c], esi
jne 0x1002ca06
cmp dword [edi + 8], 0
mov dword [esp + 0x3c], edx
jne 0x1002ca4e
mov ebp, dword [esp + 0x34]
mov ecx, dword [edi + 8]
lea edx, [ecx + ebp]
cmp edx, ebp
jb 0x1002ca4e
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x44]
mov dword [edi + 0x14], ecx
lea ecx, [edi - 4]
mov dword [edi + 0x10], ebp
mov dword [edi + 0xc], ebx
add edi, 0x20
mov ebx, dword [esp + 0x20]
mov ebp, ebx
mov dword [esi + edx*4], ecx
inc edx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], ecx
cmp edx, eax
jge 0x1002ca60
mov ebx, dword [esp + 0x40]
jmp 0x1002c610
mov esi, 8
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
jmp 0x1002d271
mov ebp, ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
jmp 0x1002caa8
mov dword [edi], 0
mov ebp, dword [esp + 0x20]
mov esi, 8
mov eax, edx
jmp 0x1002d271
mov esi, 0x55
mov byte [edi - 4], 0
jmp 0x1002d26d
xor esi, esi
mov dword [esp + 0x10], eax
xor ebp, ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x50]
mov eax, dword [esi + eax*4 - 4]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [esp + 0x84], eax
cmp eax, ecx
jb 0x1002d268
mov eax, 1
xor esi, esi
cmp dword [esp + 0x28], 0x74746366
mov word [esp + 0x90], ax
jne 0x1002cd44
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.1000df10
mov esi, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
test esi, esi
jne 0x1002d26d
cmp eax, 0x10000
je 0x1002cb14
cmp eax, 0x20000
jne 0x1002d268
lea edx, [esp + 0x90]
mov ecx, ebx
call fcn.1002c200
mov esi, eax
test esi, esi
jne 0x1002cb35
cmp word [esp + 0x90], ax
jne 0x1002cb49
lea esi, [eax + 8]
mov edi, dword [esp + 0x98]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], edi
jmp 0x1002d273
movzx eax, word [esp + 0x90]
xor esi, esi
mov dword [esp + 0x34], eax
test eax, eax
je 0x1002cd2d
lea edi, [eax + eax*2]
mov eax, dword [esp + 0x1c]
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 0x1002cbab
test eax, eax
je 0x1002cbab
push edi
mov edi, eax
push esi
push edi
call fcn.101010f0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x90]
mov dword [esp + 0x34], eax
jmp 0x1002cbcf
mov edi, ebp
mov dword [esp + 0x18], edi
test esi, esi
jne 0x1002d25e
xor eax, eax
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x90]
test eax, eax
je 0x1002ccf5
add ebp, 4
mov edx, ebp
mov ecx, ebx
call fcn.1002c200
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
jne 0x1002cd1c
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.1000df10
mov esi, dword [esp + 0x24]
mov dword [ebp - 4], eax
test esi, esi
jne 0x1002cd1c
movzx eax, word [ebp]
test eax, eax
je 0x1002cc58
lea ebx, [eax + eax]
mov eax, dword [esp + 0x1c]
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 0x1002cc4b
test edi, edi
je 0x1002cc4b
push ebx
push esi
push edi
call fcn.101010f0
mov eax, esi
mov dword [ebp + 4], edi
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x1002cc5f
mov dword [ebp + 4], eax
test esi, esi
jne 0x1002cd1c
jmp 0x1002cc5f
mov dword [esp + 0x24], 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 0x1002ccd7
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x38]
call fcn.1002c200
mov esi, eax
test esi, esi
jne 0x1002cd1c
mov cx, word [esp + 0x38]
cmp cx, word [esp + 0x64]
jae 0x1002cd17
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 0x1002cd0a
mov edi, ecx
mov ecx, dword [esp + 0x44]
movzx eax, word [ebp]
inc ebx
cmp ebx, eax
jb 0x1002cc73
test ecx, ecx
jne 0x1002cccc
test edi, edi
je 0x1002ccd7
cmp ecx, edi
ja 0x1002cd17
sub edi, ecx
cmp edi, 1
jne 0x1002cd17
mov edi, dword [esp + 0x28]
add ebp, 0xc
mov ebx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x34]
jl 0x1002cbd2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
jmp 0x1002cd4a
cmp eax, 0x676c7966
jne 0x1002ccb7
mov dword [esp + 0x44], ecx
jmp 0x1002ccbb
mov esi, 8
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x1002d273
mov eax, dword [esp + 0x5c]
xor edi, edi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], eax
jmp 0x1002cd4a
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
add ecx, 3
add ecx, dword [ebx + 8]
and ecx, 0xfffffffc
cmp ecx, edx
jbe 0x1002cd6d
mov eax, dword [esp + 0x10]
mov esi, 8
jmp 0x1002d273
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1002cd93
cmp ecx, eax
je 0x1002cd87
mov eax, dword [esp + 0x10]
mov esi, 8
jmp 0x1002d273
mov ecx, dword [esp + 0x74]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1002cdbc
cmp ecx, eax
je 0x1002cdad
mov eax, dword [esp + 0x10]
mov esi, 8
jmp 0x1002d273
mov ecx, dword [esp + 0x80]
add ecx, 3
add ecx, eax
and ecx, 0xfffffffc
lea eax, [edx + 3]
and eax, 0xfffffffc
cmp ecx, eax
je 0x1002cdd4
mov eax, dword [esp + 0x10]
mov esi, 8
jmp 0x1002d273
mov eax, dword [esp + 0x1a0]
movzx ecx, word [esp + 0x90]
mov ebx, dword [esp + 0x4c]
mov dword [eax], ecx
mov eax, dword [esp + 0x19c]
mov edx, dword [eax]
test edx, edx
lea eax, [ebx - 1]
cmovns eax, ebx
cmp eax, ecx
jl 0x1002ce12
test edx, edx
js 0x1002ce10
mov eax, dword [esp + 0x10]
mov esi, 6
jmp 0x1002d273
xor eax, eax
test esi, esi
je 0x1002cfb9
lea eax, [eax + eax*2]
xor esi, esi
lea ebx, [edi + eax*4]
movzx eax, word [ebx + 4]
test eax, eax
je 0x1002ce7b
lea ebp, [eax*4]
mov eax, dword [esp + 0x1c]
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 + 0x20], edi
cmove esi, eax
test esi, esi
jne 0x1002cd1c
mov dword [esp + 0x20], edi
test edi, edi
je 0x1002ce6d
push ebp
push esi
push edi
call fcn.101010f0
add esp, 0xc
mov esi, edi
jmp 0x1002ce7d
test esi, esi
jne 0x1002cd1c
mov esi, dword [esp + 0x20]
jmp 0x1002ce81
xor esi, esi
mov dword [esp + 0x20], esi
movzx eax, word [ebx + 4]
xor edi, edi
xor ecx, ecx
mov edx, eax
cmp di, ax
jae 0x1002ceaa
mov edi, dword [esp + 0x3c]
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 0x1002ce94
mov ecx, dword [esp + 0x3c]
xor esi, esi
movzx eax, word [esp + 0x64]
movzx ebp, dx
mov dword [esp + 0x14], ecx
test ebp, ebp
je 0x1002cf58
lea edx, [ebp*4]
test eax, eax
jne 0x1002cf07
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov eax, 0x40
test edx, edx
mov dword [esp + 0x14], edx
mov edi, edx
cmove esi, eax
test esi, esi
jne 0x1002cef4
test edi, edi
jne 0x1002cf39
mov ebp, edi
mov dword [esp + 0x14], ebp
test esi, esi
jne 0x1002cd20
jmp 0x1002cf71
push ecx
push edx
lea edx, [eax*4]
mov eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
jne 0x1002cf35
mov ebp, dword [esp + 0x14]
lea esi, [eax + 0x40]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x1002d273
mov dword [esp + 0x14], edi
movzx eax, word [esp + 0x64]
cmp ebp, eax
jbe 0x1002cef4
sub ebp, eax
lea eax, [edi + eax*4]
shl ebp, 2
push ebp
push 0
push eax
call fcn.101010f0
add esp, 0xc
jmp 0x1002cf71
test ecx, ecx
je 0x1002cf69
mov eax, dword [esp + 0x1c]
mov edx, ecx
mov ecx, eax
mov eax, dword [eax + 8]
call eax
xor edi, edi
xor edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
xor eax, eax
xor ecx, ecx
cmp ax, word [ebx + 4]
jae 0x1002cf95
mov esi, edx
sub esi, edi
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 0x1002cf83
test edx, edx
je 0x1002cfa4
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], eax
mov ax, word [ebx + 4]
mov word [esp + 0x64], ax
jmp 0x1002cfbe
mov ax, word [esp + 0x64]
mov ecx, dword [esp + 0x68]
movzx eax, ax
mov dword [esp + 0x34], eax
shl eax, 4
mov dword [esp + 0x4c], eax
lea edi, [eax + 0xc]
mov ebx, edi
cmp ecx, edi
jbe 0x1002d004
mov edx, dword [esp + 0x60]
mov eax, ecx
shr eax, 6
cmp eax, edx
jbe 0x1002cfed
mov edi, edx
shl edi, 6
jmp 0x1002cfef
mov edi, ecx
mov ebx, edi
cmp edi, 0x4000000
jb 0x1002d004
mov edi, 0x4000000
xor esi, esi
mov ebx, edi
jmp 0x1002d00c
xor esi, esi
xor ebp, ebp
test ebx, ebx
jle 0x1002d041
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov ebp, eax
test ebp, ebp
jne 0x1002d024
mov esi, 0x40
mov dword [esp + 0x2c], ebp
test esi, esi
jne 0x1002d063
test ebp, ebp
je 0x1002d063
test ebx, ebx
jle 0x1002d063
push ebx
push esi
push ebp
call fcn.101010f0
add esp, 0xc
jmp 0x1002d06d
jns 0x1002d024
xor edx, edx
mov esi, 6
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov edi, dword [esp + 0x18]
jmp 0x1002d279
mov edx, ebp
mov dword [esp + 0x2c], edx
test esi, esi
jne 0x1002d04e
mov ebx, dword [esp + 0x1c]
mov edx, 0x28
mov ecx, ebx
mov eax, dword [ebx + 4]
call eax
mov ecx, eax
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x1002d0a1
mov ebp, dword [esp + 0x14]
lea esi, [eax + 0x40]
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
jmp 0x1002d279
xorps xmm0, xmm0
lea edx, [ebp + 1]
movups xmmword [ecx], xmm0
mov esi, ecx
movups xmmword [ecx + 0x10], xmm0
mov dword [esp + 0x30], esi
movq qword [ecx + 0x20], xmm0
mov ecx, dword [esp + 0x28]
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 + 0x5c]
shr ecx, 8
cmp word [esp + 0x64], 0
mov byte [edx + 1], cl
mov byte [edx + 2], al
je 0x1002d156
mov eax, ebp
mov dword [esp + 0x30], esi
xor ecx, ecx
test eax, eax
je 0x1002d105
mov dword [esp + 0x30], esi
nop dword [eax]
inc ecx
shr eax, 1
jne 0x1002d100
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 + 0x64]
shr eax, 8
mov byte [edx + 3], al
mov al, byte [esp + 0x64]
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 + 0x1c]
mov byte [edx + 8], cl
mov byte [edx + 9], al
push 0x1002b8d0
push 4
push ebp
mov ebp, dword [esp + 0x20]
push ebp
call fcn.10105920
mov eax, dword [esp + 0x94]
add esp, 0x10
cmp eax, 1
jae 0x1002d193
mov esi, 8
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
jmp 0x1002d279
cmp eax, edi
ja 0x1002d177
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x28], ecx
test eax, eax
jle 0x1002d1c2
mov edx, eax
mov ecx, ebx
mov eax, dword [ebx + 4]
call eax
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x1002d1e2
lea esi, [ebx + 0x40]
jmp 0x1002d1e2
jns 0x1002d1e0
mov ecx, dword [esp + 0x30]
mov esi, 6
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
jmp 0x1002d279
xor ebx, ebx
test esi, esi
jne 0x1002d1fb
test ebx, ebx
je 0x1002d1fb
test eax, eax
jle 0x1002d1fb
push eax
push esi
push ebx
call fcn.101010f0
add esp, 0xc
jmp 0x1002d207
mov dword [esp + 0x28], ebx
test esi, esi
jne 0x1002d17e
mov ebx, dword [esp + 0x40]
mov ecx, ebx
mov edx, dword [esp + 0x6c]
call fcn.1000de40
mov esi, eax
test esi, esi
jne 0x1002d248
lea esi, [eax + 7]
cmp dword [ebx + 0x14], eax
je 0x1002d23a
mov edx, dword [ebx]
mov eax, dword [ebx + 0x1c]
test edx, edx
je 0x1002d234
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 + 0x28]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
jmp 0x1002d279
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jmp 0x1002d273
mov esi, 8
mov eax, dword [esp + 0x10]
xor edi, edi
xor ebx, ebx
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x1002d28c
mov edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
jmp 0x1002d294
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
test ebp, ebp
je 0x1002d2a7
mov edx, ebp
mov ebp, dword [esp + 0x1c]
mov ecx, ebp
mov eax, dword [ebp + 8]
call eax
jmp 0x1002d2ab
mov ebp, dword [esp + 0x1c]
test ebx, ebx
je 0x1002d2b8
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
test edi, edi
je 0x1002d2f8
movzx ebx, word [esp + 0x90]
test ebx, ebx
je 0x1002d2ef
add edi, 8
nop dword [eax + eax]
mov edx, dword [edi]
test edx, edx
je 0x1002d2dd
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov dword [edi], 0
add edi, 0xc
sub ebx, 1
jne 0x1002d2d0
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 8]
mov edx, edi
mov ecx, ebp
call eax
test esi, esi
je 0x1002d327
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x1002d30b
mov eax, dword [ebp + 8]
mov ecx, ebp
call eax
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x1002d327
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1002d31e
mov ecx, ebx
call eax
mov eax, dword [ebp + 8]
mov edx, ebx
mov ecx, ebp
call eax
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x188
ret 8