Function at 0x1002bfc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x228
call 0x1002bfd4
pop eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 8
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 8
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
movzx ebx, byte [eax + 0x90]
mov esi, dword [eax + 0x40]
mov edi, dword [eax + 0x44]
lea ecx, [esp + 0x68]
push 0x98
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movaps xmm1, xmmword [0x100c43e0]
xorps xmm0, xmm0
xor eax, eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0x108], xmm0
movups xmmword [esp + 0x110], xmm1
movsd qword [esp + 0x120], xmm0
movsd qword [esp + 0x128], xmm0
movsd qword [esp + 0x130], xmm0
mov byte [esp + 0x138], 0
mov byte [esp + 0x139], bl
mov dword [esp + 0x13a], 0
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], edi
test al, al
je 0x1002c10f
movzx eax, byte [esp + 0xf8]
movaps xmm1, xmmword [0x100c43e0]
lea ecx, [esp + 0x100]
xorps xmm0, xmm0
movsd qword [ecx + 8], xmm0
movsd qword [ecx], xmm0
lea ecx, [esp + 0x68]
movups xmmword [esp + 0x110], xmm1
mov byte [esp + 0x138], 0
movsd qword [ecx + 0xc0], xmm0
movsd qword [ecx + 0xb8], xmm0
mov byte [esp + 0x139], al
mov byte [esp + 0x13b], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov byte [esp + 0x13a], 0
mov word [esp + 0x13c], 0
mov esi, dword [esp + 0x144]
test esi, esi
je 0x1002d4c0
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
jmp 0x1002c1dc
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x1c], esi
dec esi
mov dword [esp + 0x28], ebx
lea edx, [ecx + 1]
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], esi
movzx eax, byte [ecx]
test eax, eax
je 0x1002c2e0
cmp al, byte [esp + 0xfd]
mov dword [esp], esi
mov esi, edi
mov edi, ebx
mov ebx, eax
mov dword [esp + 0x14], 0
jae 0x1002c380
dec eax
mov byte [esp + 4], bl
mov dword [esp + 0x10], edx
cmp eax, 0xb
ja 0x1002cb53
mov eax, dword [eax*4 + 0x1002e174]
mov ebx, edi
mov edi, esi
mov esi, dword [esp]
mov edx, 0x2f
add eax, dword [esp + 0x58]
jmp eax
test esi, esi
je 0x1002d7c5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov dword [esp + 8], ecx
xor ebx, ebx
xor esi, esi
xor edi, edi
xor edx, edx
dec eax
mov dword [esp + 0x14], eax
lea eax, [ecx + 4]
xor ecx, ecx
mov dword [esp + 0x10], eax
nop word [eax + eax]
mov eax, dword [esp + 8]
mov dword [esp], edx
cmp ecx, 0x3f
movzx edx, byte [eax + esi + 1]
jne 0x1002c32a
cmp dl, 2
jae 0x1002d79a
mov ah, dl
mov dword [esp + 4], esi
xor esi, esi
and ah, 0x7f
movzx ebx, ah
mov eax, edi
mov edi, 0
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne esi, ebx
cmovne ebx, edi
mov edi, eax
mov eax, edx
mov edx, dword [esp]
or edi, ebx
or edx, esi
test al, al
jns 0x1002c45c
mov esi, dword [esp + 4]
add ecx, 7
inc dword [esp + 0x10]
mov ebx, 0
inc esi
cmp dword [esp + 0x14], esi
jne 0x1002c310
jmp 0x1002d7a5
mov byte [esp + 0x18], bl
mov ebx, edi
mov edi, esi
mov esi, dword [esp]
mov edx, 0x2e
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, edx
movsd xmm0, qword [esp + 0x160]
movsd xmm1, qword [esp + 0x150]
shl ebx, 0x10
add eax, 0xffffffd2
movsd qword [esp + 0x218], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x208], xmm1
adc ecx, 0xffffffff
cmp eax, 0x15
sbb ecx, 0
mov ecx, 0x12
cmovae eax, ecx
mov eax, dword [eax*4 + 0x1002e1d4]
movsd qword [esp + 0x210], xmm0
movsd xmm0, qword [esp + 0x148]
add eax, dword [esp + 0x58]
movsd qword [esp + 0x200], xmm0
jmp eax
test edx, edx
jne 0x1002d9d1
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x20]
mov eax, esi
sub eax, edx
add eax, 0xfffffffe
cmp eax, edi
jb 0x1002d9dd
mov ecx, dword [esp + 8]
sub esi, edi
sub esi, edx
add esi, 0xfffffffe
test edi, edi
lea eax, [ecx + edi]
lea eax, [edx + eax + 2]
mov dword [esp + 0x140], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x144], esi
je 0x1002d9f6
lea eax, [edi - 1]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ecx + edx + 3]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], eax
movzx eax, byte [ecx + edx + 2]
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x1002ccfe
mov eax, dword [ecx*4 + 0x1002e1a4]
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov edx, 0x3e
add eax, dword [esp + 0x58]
jmp eax
movzx edx, byte [esp + 4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
dec dl
movzx edx, dl
cmp ecx, edx
jb 0x1002df13
mov ebx, edi
add eax, edx
cmp ecx, edx
mov edi, esi
je 0x1002df35
movzx eax, byte [eax]
test eax, eax
je 0x1002d141
mov edx, dword [esp]
cmp eax, 1
jne 0x1002d157
test edx, edx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
je 0x1002dbc0
mov eax, 2
lea edx, [ecx + 2]
mov dword [esp + 0xc], 0
xor edi, edi
xor ecx, ecx
sub eax, dword [esp + 0x1c]
nop word cs:[eax + eax]
nop
movzx ebx, byte [edx - 1]
cmp ecx, 0x3f
jne 0x1002cbe2
cmp bl, 2
jae 0x1002da4c
mov dword [esp], eax
mov ah, bl
mov byte [esp + 0x14], bl
mov ebx, 0
and ah, 0x7f
movzx esi, ah
mov eax, edi
xor edi, edi
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
or eax, edi
or dword [esp + 0xc], esi
cmp byte [esp + 0x14], 0
mov edi, eax
jns 0x1002d469
mov eax, dword [esp]
add ecx, 7
inc edx
inc eax
cmp eax, 1
jne 0x1002cbd0
jmp 0x1002dba4
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
lea ebx, [ecx + edx + 3]
mov edx, 0x42
mov ecx, ebx
mov dword [esp + 0xc], ebx
mov byte [esp + 0x18], bl
shr ecx, 0x10
mov dword [esp + 0x24], ecx
mov ecx, ebx
mov ebx, eax
jmp 0x1002c390
movzx eax, byte [esp + 4]
mov esi, dword [esp]
mov edx, 0x3b
mov byte [esp + 0x18], al
jmp 0x1002c390
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], 0
mov dword [esp + 0x20], edi
neg eax
mov dword [esp + 0x2c], ecx
mov ecx, edx
mov dword [esp + 8], eax
test ecx, ecx
je 0x1002e064
mov dword [esp + 0x1d4], ecx
neg ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x2c]
lea esi, [ecx + 1]
lea ebx, [eax + ecx]
xor ecx, ecx
nop
movzx eax, byte [esi - 1]
cmp ecx, 0x3f
jne 0x1002d1c1
cmp al, 2
jae 0x1002d9e9
mov dword [esp + 0x30], ebx
mov byte [esp + 0x1c], al
and al, 0x7f
mov ebx, dword [esp + 0x14]
xor edx, edx
mov edi, 0
movzx eax, al
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
mov edi, dword [esp + 0x28]
or ebx, eax
mov ah, byte [esp + 0x1c]
mov dword [esp + 0x14], ebx
or edi, edx
test ah, ah
mov dword [esp + 0x28], edi
jns 0x1002d215
mov ebx, dword [esp + 0x30]
add ecx, 7
inc esi
mov al, ah
inc ebx
inc dword [esp + 0x18]
jne 0x1002d1b0
jmp 0x1002da06
mov edx, edi
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x140], esi
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x64], edx
mov edx, dword [esp]
inc edi
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 8]
not ecx
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x1cc]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x144], ecx
jne 0x1002d17e
mov ecx, dword [esp + 0x30]
mov eax, esi
cmp edx, ecx
jb 0x1002df35
mov edx, eax
shr eax, 0x10
mov esi, dword [esp + 0x18]
mov edi, ecx
movzx ecx, byte [esp + 4]
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], eax
mov eax, edx
mov ah, dh
mov byte [esp + 0x18], dl
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], eax
not esi
mov ebx, ecx
mov dword [esp + 0x64], edx
mov edx, 0x3d
jmp 0x1002c390
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
mov dword [esp + 0x140], edx
mov dword [esp + 0x14], 0
mov edx, 0x3c
mov dword [esp + 0x1a8], edi
mov eax, ecx
neg esi
mov dword [esp + 0x1c8], ecx
mov byte [esp + 0x18], cl
shr eax, 0x10
mov dword [esp + 0x144], esi
mov dword [esp + 0x24], eax
mov eax, ecx
movzx eax, byte [esp + 4]
mov ebx, eax
jmp 0x1002c390
xor edi, edi
test edi, edi
je 0x1002d82f
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x3b], 0
je 0x1002d56b
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x1002d5d2
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esi]
cmp eax, ebx
mov dword [esp], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 8
mov dword [esp + 0x40], 0
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
jbe 0x1002d62d
shl eax, 3
lea ecx, [eax + eax*2]
lea eax, [ebx*8]
lea eax, [eax + eax*2]
mov dword [esp + 0xc], eax
push eax
push 8
mov dword [esp + 0x1c], ecx
push ecx
push esi
call fcn.10004ad0
add esp, 0x10
mov edi, eax
test eax, eax
je 0x1002e06d
mov esi, dword [esp + 0x4c]
cmp esi, dword [esp + 0x44]
je 0x1002d639
jmp 0x1002d642
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov edi, dword [eax + 0x14]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
mov ecx, ebx
sub ecx, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], edx
jb 0x1002d5df
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], esi
lea ecx, [eax + ecx*8]
mov edx, dword [ecx]
xor edx, esi
mov esi, edi
mov edi, dword [ecx + 4]
xor edi, dword [esp]
or edi, edx
mov edi, esi
mov esi, dword [esp + 0x14]
jne 0x1002d5df
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [ecx + 0xc], edi
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
movzx eax, byte [esp + 0x13b]
jmp 0x1002c0b6
cmp ebx, dword [esp + 0x38]
jne 0x1002d5f2
lea ecx, [esp + 0x38]
call fcn.1001d5d0
mov eax, dword [esp + 0x3c]
lea ecx, [ebx + ebx*2]
mov edx, dword [esp]
inc ebx
mov dword [eax + ecx*8], esi
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*8 + 4], edx
mov dword [eax + ecx*8 + 0xc], edi
mov edi, dword [esp + 8]
mov dword [eax + ecx*8 + 8], esi
mov esi, dword [esp + 4]
mov dword [eax + ecx*8 + 0x10], edi
mov dword [eax + ecx*8 + 0x14], esi
mov dword [esp + 0x40], ebx
movzx eax, byte [esp + 0x13b]
jmp 0x1002c0b6
mov edi, esi
mov esi, dword [esp + 0x4c]
cmp esi, dword [esp + 0x44]
jne 0x1002d642
lea ecx, [esp + 0x44]
call fcn.1001d5d0
mov eax, dword [esp + 0x48]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 8]
inc esi
mov dword [eax + ecx*8], edi
mov edi, dword [esp]
mov dword [eax + ecx*8 + 4], ebx
mov ebx, dword [esp + 0x10]
mov dword [eax + ecx*8 + 0xc], edx
mov dword [eax + ecx*8 + 8], edi
mov edi, dword [esp + 4]
mov dword [eax + ecx*8 + 0x14], ebx
mov dword [eax + ecx*8 + 0x10], edi
mov dword [esp + 0x4c], esi
movzx eax, byte [esp + 0x13b]
jmp 0x1002c0b6
mov edi, dword [esp + 0x20]
mov cl, 6
jmp 0x1002da5c
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x20]
add ecx, dword [esp + 0x1c]
mov edx, ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], 0
xor ebx, ebx
mov cl, 0x13
mov ah, al
jmp 0x1002da5c
xor ebx, ebx
mov cl, 0x13
mov ah, al
jmp 0x1002da5c
mov edx, dword [esp + 0x4c]
cmp edx, 2
jb 0x1002dbcf
mov ecx, dword [esp + 0x48]
cmp edx, 0x15
jae 0x1002dbca
lea eax, [edx + edx*2]
lea esi, [ecx + 0x18]
mov edx, ecx
mov dword [esp + 0x28], ecx
lea eax, [ecx + eax*8]
mov dword [esp], eax
xor eax, eax
jmp 0x1002d899
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [ecx + 4], esi
mov esi, dword [esp + 8]
mov dword [ecx], edx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], ebx
mov edi, dword [esp + 0x10]
mov dword [ecx + 0x14], esi
mov esi, dword [esp + 4]
mov dword [ecx + 0x10], edi
mov edx, esi
add esi, 0x18
add eax, 0xffffffe8
cmp esi, dword [esp]
je 0x1002dbcf
mov edi, dword [edx + 0x20]
mov ebx, dword [edx + 0x24]
cmp edi, dword [edx + 8]
mov ecx, ebx
sbb ecx, dword [edx + 0xc]
jae 0x1002d888
mov ecx, dword [edx + 0x18]
mov dword [esp + 4], esi
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xc], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 8], ecx
mov ecx, dword [edx + 0x28]
mov edx, eax
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
movsd xmm0, qword [esi - 8]
test edx, edx
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [esi - 0x18]
movsd xmm1, qword [esi - 0x10]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
je 0x1002d85f
add edx, 0x18
cmp edi, dword [esi - 0x28]
mov ecx, ebx
sbb ecx, dword [esi - 0x24]
lea ecx, [esi - 0x18]
mov esi, ecx
jb 0x1002d8d0
jmp 0x1002d863
mov ebx, edx
mov edx, edi
mov edi, dword [esp + 0x20]
mov cl, 0x35
jmp 0x1002da5c
mov eax, dword [esp + 8]
lea edx, [eax + edx + 2]
mov edi, edx
jmp 0x1002d9fc
mov edx, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x64]
jmp 0x1002da5a
lea edx, [ecx + edx + 2]
mov edi, ebx
mov eax, dword [esp + 0xc]
mov cl, 0x13
xor ebx, ebx
jmp 0x1002da5c
mov edx, dword [esp + 0x2c]
add edx, dword [esp + 0x1d4]
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], 0
jmp 0x1002d7f7
mov edx, dword [esp + 0x1c8]
mov ebx, dword [esp + 0x1a8]
mov cl, 6
mov al, cl
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 0
mov dword [esp + 0x34], edx
mov esi, ebx
mov cl, ah
mov edx, dword [esp + 0x24]
mov ebx, eax
movzx eax, cl
mov ecx, edx
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x54]
mov byte [eax + 8], bl
mov byte [eax + 0xb], dh
mov edx, dword [esp + 0x34]
mov word [eax + 9], cx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], esi
mov dword [eax], 1
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x1002dacd
shl eax, 2
push 2
push eax
push dword [esp + 0xc4]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x1002daed
shl eax, 4
push 8
push eax
push dword [esp + 0xd0]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x1002db0d
shl eax, 2
push 2
push eax
push dword [esp + 0xdc]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x1002db2d
imul eax, eax, 0x38
push 8
push eax
push dword [esp + 0xe8]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1002db4a
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0x44]
call fcn.10004ab0
add esp, 0xc
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
test edi, edi
je 0x1002db82
lea ebx, [esi + 4]
jmp 0x1002db66
add ebx, 0x18
dec edi
je 0x1002db82
mov eax, dword [ebx]
test eax, eax
je 0x1002db60
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [ebx - 4]
call fcn.10004ab0
add esp, 0xc
jmp 0x1002db60
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1002db9c
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push esi
call fcn.10004ab0
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 8]
add eax, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 0
movzx eax, byte [esp + 0x14]
jmp 0x1002d7f7
call fcn.100112d0
cmp word [esp + 0xea], 5
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 4
mov dword [esp + 0x150], 0
jae 0x1002dc0e
mov eax, dword [esp + 0x68]
xor eax, 0x2e
or eax, dword [esp + 0x6c]
je 0x1002dc7a
lea eax, [esp + 0x68]
jmp 0x1002dc1f
cmp dword [esp + 0xe4], 0
je 0x1002dc7a
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x1c4]
lea esi, [esp + 0x68]
lea ecx, [esp + 0x168]
push dword [ebp + 0xc]
push esi
push eax
call fcn.10028e40
add esp, 0xc
movzx eax, byte [esp + 0x168]
cmp al, 0x4b
jne 0x1002de8d
mov ebx, dword [esp + 0x16c]
mov esi, dword [esp + 0x170]
mov edi, dword [esp + 0x174]
lea ecx, [esp + 0x148]
call fcn.1001dbf0
mov eax, dword [esp + 0x14c]
mov dword [eax], ebx
jmp 0x1002dc9a
lea ecx, [esp + 0x148]
call fcn.1001dbf0
mov eax, dword [esp + 0x14c]
xor edi, edi
mov esi, 1
mov dword [eax], 0
mov dword [eax + 4], esi
mov dword [eax + 8], edi
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x150], 1
mov dword [esp], 0x14
jmp 0x1002dcee
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
add edi, 1
mov dword [eax + esi - 8], ecx
mov dword [eax + esi - 4], edx
mov dword [eax + esi], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x150], edi
adc ebx, 0
add esi, 0xc
mov dword [esp], esi
cmp word [esp + 0xea], 5
jae 0x1002dd18
mov eax, edi
or eax, ebx
je 0x1002ddab
lea eax, [edi - 1]
cmp eax, dword [esp + 0xe4]
jae 0x1002ddc0
imul eax, eax, 0x38
jmp 0x1002dd28
cmp dword [esp + 0xe4], edi
jbe 0x1002ddc0
imul eax, edi, 0x38
add eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x1c4]
lea ecx, [esp + 0x168]
push dword [ebp + 0xc]
lea esi, [esp + 0x6c]
push esi
push eax
call fcn.10028e40
add esp, 0xc
movzx eax, byte [esp + 0x168]
cmp al, 0x4b
jne 0x1002de1c
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp]
mov ebx, dword [esp + 0x174]
cmp edi, dword [esp + 0x148]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
jne 0x1002dcc0
lea ecx, [esp + 0x148]
call fcn.1001dbf0
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x14], eax
jmp 0x1002dcc0
mov eax, dword [esp + 0x68]
xor eax, 0x2e
or eax, dword [esp + 0x6c]
lea eax, [esp + 0x68]
jne 0x1002dd2f
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x150]
mov ebx, dword [esp + 0x14c]
cmp eax, edi
jbe 0x1002df55
shl eax, 2
test edi, edi
lea eax, [eax + eax*2]
je 0x1002df44
lea ecx, [edi*4]
lea esi, [ecx + ecx*2]
push esi
push 4
push eax
push ebx
call fcn.10004ad0
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x1002df55
push esi
push 4
call fcn.1007e510
add esp, 8
jmp 0x1002e0a5
movzx ecx, word [esp + 0x169]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x170]
test edi, edi
mov word [edx + 9], cx
movzx ecx, byte [esp + 0x16b]
mov byte [edx + 0xb], cl
mov ecx, dword [esp + 0x16c]
mov byte [edx + 8], al
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x174]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
mov dword [edx], 1
je 0x1002de87
mov eax, dword [esp + 0x14]
lea esi, [eax + 4]
jmp 0x1002de71
add esi, 0xc
dec edi
je 0x1002de87
mov eax, dword [esi - 4]
test eax, eax
je 0x1002de6b
push 1
push eax
push dword [esi]
call fcn.10004ab0
add esp, 0xc
jmp 0x1002de6b
mov ecx, dword [esp + 0x14]
jmp 0x1002ded4
movzx ecx, byte [esp + 0x16b]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x174]
mov byte [edi + 0xb], cl
movzx ecx, word [esp + 0x169]
mov word [edi + 9], cx
mov ecx, dword [esp + 0x16c]
mov byte [edi + 8], al
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
mov dword [edi], 1
mov ecx, 4
mov eax, dword [esp + 0x148]
test eax, eax
je 0x1002daad
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push ecx
call fcn.10004ab0
add esp, 0xc
jmp 0x1002daad
mov edx, eax
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov cl, 0x13
mov edi, esi
jmp 0x1002da5c
mov edx, eax
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov cl, 0x13
jmp 0x1002da5c
push 4
push eax
push ebx
call fcn.10004ab0
add esp, 0xc
mov ebx, 4
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
cmp ecx, esi
jbe 0x1002dfb0
shl ecx, 3
test esi, esi
lea ecx, [ecx + ecx*2]
je 0x1002df9f
lea edx, [esi*8]
lea edx, [edx + edx*2]
mov dword [esp], edx
push edx
push 8
push ecx
push eax
call fcn.10004ad0
add esp, 0x10
test eax, eax
jne 0x1002dfb0
push dword [esp]
push 8
call fcn.1007e510
add esp, 8
jmp 0x1002e0a5
push 8
push ecx
push eax
call fcn.10004ab0
add esp, 0xc
mov eax, 8
mov ecx, dword [esp + 0x54]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0xb8]
mov dword [ecx + 0x10], esi
mov dword [ecx], 0
test eax, eax
je 0x1002dfe6
shl eax, 2
push 2
push eax
push dword [esp + 0xc4]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x1002e006
shl eax, 4
push 8
push eax
push dword [esp + 0xd0]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x1002e026
shl eax, 2
push 2
push eax
push dword [esp + 0xdc]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x1002e046
imul eax, eax, 0x38
push 8
push eax
push dword [esp + 0xe8]
call fcn.10004ab0
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1002db9c
shl eax, 3
lea eax, [eax + eax*2]
push 8
push eax
push dword [esp + 0x44]
jmp 0x1002db94
mov edx, dword [esp + 0x2c]
jmp 0x1002d7f7
mov edi, dword [esp + 0x14]
push dword [esp + 0xc]
push 8
call fcn.1007e510
add esp, 8
jmp 0x1002e0a5
ud2