Function at 0x10013fb0
Capabilities:
Packed with generic packer

Disassembly:
mov eax, dword [esp + 4]
sub esp, 8
xor ecx, ecx
mov edx, dword [eax + 0x1698]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
test edx, edx
je 0x1001433f
mov edx, dword [eax + 0x169c]
xor edi, edi
xor ebx, ebx
mov di, word [edx + ecx*2]
mov edx, dword [eax + 0x1690]
mov bl, byte [ecx + edx]
inc ecx
test edi, edi
mov edx, ebx
mov dword [esp + 0x14], ecx
jne 0x10014080
mov di, word [ebp + edx*4 + 2]
mov ecx, dword [eax + 0x16b4]
mov esi, 0x10
sub esi, edi
cmp ecx, esi
jle 0x1001406a
xor esi, esi
mov si, word [ebp + edx*4]
mov edx, esi
shl edx, cl
mov ecx, dword [eax + 8]
or word [eax + 0x16b0], dx
mov edx, dword [eax + 0x14]
mov bl, byte [eax + 0x16b0]
mov byte [ecx + edx], bl
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 8]
inc edx
mov dword [eax + 0x14], edx
mov ecx, edx
xor edx, edx
mov dl, byte [eax + 0x16b1]
mov byte [ecx + ebx], dl
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, dx
shr si, cl
lea ecx, [edx + edi - 0x10]
mov word [eax + 0x16b0], si
jmp 0x10014327
mov dx, word [ebp + edx*4]
shl dx, cl
or word [eax + 0x16b0], dx
add ecx, edi
jmp 0x10014327
xor ebx, ebx
mov ecx, dword [eax + 0x16b4]
mov bl, byte [edx + 0x10018240]
xor esi, esi
mov dword [esp + 0x1c], ebx
mov si, word [ebp + ebx*4 + 0x406]
mov ebp, 0x10
sub ebp, esi
mov dword [esp + 0x10], esi
cmp ecx, ebp
jle 0x1001411c
mov ebp, dword [esp + 0x20]
xor esi, esi
mov si, word [ebp + ebx*4 + 0x404]
mov ebp, dword [eax + 8]
mov ebx, esi
shl ebx, cl
or word [eax + 0x16b0], bx
mov ebx, dword [eax + 0x14]
mov cl, byte [eax + 0x16b0]
mov byte [ebx + ebp], cl
mov ebx, dword [eax + 0x14]
inc ebx
xor ecx, ecx
mov cl, byte [eax + 0x16b1]
mov dword [eax + 0x14], ebx
mov ebp, ebx
mov ebx, dword [eax + 8]
mov byte [ebx + ebp], cl
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, bx
shr si, cl
mov ecx, dword [esp + 0x10]
lea ecx, [ebx + ecx - 0x10]
mov ebx, dword [esp + 0x1c]
mov word [eax + 0x16b0], si
mov dword [eax + 0x16b4], ecx
jmp 0x10014140
mov ebp, dword [esp + 0x20]
mov bp, word [ebp + ebx*4 + 0x404]
shl bp, cl
mov ecx, dword [eax + 0x16b4]
or word [eax + 0x16b0], bp
add ecx, esi
mov dword [eax + 0x16b4], ecx
mov esi, dword [ebx*4 + 0x100179fc]
test esi, esi
je 0x100141d5
mov ecx, dword [ebx*4 + 0x10018340]
mov ebx, 0x10
sub edx, ecx
mov ecx, dword [eax + 0x16b4]
sub ebx, esi
cmp ecx, ebx
jle 0x100141c4
mov ebx, edx
mov ebp, dword [eax + 8]
shl ebx, cl
or word [eax + 0x16b0], bx
mov ebx, dword [eax + 0x14]
mov cl, byte [eax + 0x16b0]
mov byte [ebx + ebp], cl
mov ebx, dword [eax + 0x14]
inc ebx
xor ecx, ecx
mov cl, byte [eax + 0x16b1]
mov dword [eax + 0x14], ebx
mov ebp, ebx
mov ebx, dword [eax + 8]
mov byte [ebx + ebp], cl
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, bx
shr dx, cl
mov word [eax + 0x16b0], dx
lea edx, [ebx + esi - 0x10]
mov dword [eax + 0x16b4], edx
jmp 0x100141d5
shl edx, cl
or word [eax + 0x16b0], dx
add ecx, esi
jmp 0x10023521
dec edi
cmp edi, 0x100
jae 0x100141e8
xor ebx, ebx
mov bl, byte [edi + 0x10018040]
jmp 0x100141f5
mov ecx, edi
shr ecx, 7
xor ebx, ebx
mov bl, byte [ecx + 0x10018140]
mov ebp, dword [esp + 0x24]
mov ecx, dword [eax + 0x16b4]
xor esi, esi
mov edx, 0x10
mov si, word [ebp + ebx*4 + 2]
mov dword [esp + 0x1c], ebx
sub edx, esi
cmp ecx, edx
jle 0x1001427f
xor edx, edx
mov dx, word [ebp + ebx*4]
mov ebp, dword [eax + 8]
mov ebx, edx
shl ebx, cl
or word [eax + 0x16b0], bx
mov ebx, dword [eax + 0x14]
mov cl, byte [eax + 0x16b0]
mov byte [ebx + ebp], cl
mov ebx, dword [eax + 0x14]
inc ebx
xor ecx, ecx
mov cl, byte [eax + 0x16b1]
mov dword [eax + 0x14], ebx
mov ebp, ebx
mov ebx, dword [eax + 8]
mov byte [ebx + ebp], cl
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, bx
mov ebp, dword [esp + 0x20]
shr dx, cl
mov word [eax + 0x16b0], dx
lea edx, [ebx + esi - 0x10]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x16b4], edx
jmp 0x1001429a
mov dx, word [ebp + ebx*4]
mov ebp, dword [esp + 0x20]
shl dx, cl
or word [eax + 0x16b0], dx
add ecx, esi
mov dword [eax + 0x16b4], ecx
mov edx, dword [ebx*4 + 0x10017a70]
test edx, edx
je 0x1001432d
mov ecx, dword [ebx*4 + 0x100183b4]
mov esi, 0x10
sub edi, ecx
mov ecx, dword [eax + 0x16b4]
sub esi, edx
cmp ecx, esi
jle 0x1001431c
mov esi, edi
shl esi, cl
mov ecx, dword [eax + 8]
or word [eax + 0x16b0], si
mov esi, dword [eax + 0x14]
mov bl, byte [eax + 0x16b0]
mov byte [ecx + esi], bl
mov esi, dword [eax + 0x14]
mov ebx, dword [eax + 8]
xor ecx, ecx
mov cl, byte [eax + 0x16b1]
inc esi
mov dword [eax + 0x14], esi
mov byte [esi + ebx], cl
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, si
lea edx, [esi + edx - 0x10]
shr di, cl
mov dword [eax + 0x16b4], edx
mov word [eax + 0x16b0], di
jmp 0x1001432d
shl edi, cl
or word [eax + 0x16b0], di
add ecx, edx
mov dword [eax + 0x16b4], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0x1698]
cmp ecx, edx
jb 0x10013fcf
mov ecx, dword [eax + 0x16b4]
xor esi, esi
mov si, word [ebp + 0x402]
mov edx, 0x10
sub edx, esi
cmp ecx, edx
jle 0x100143bb
xor edx, edx
mov dx, word [ebp + 0x400]
mov edi, edx
shl edi, cl
mov ecx, dword [eax + 8]
or word [eax + 0x16b0], di
mov edi, dword [eax + 0x14]
mov bl, byte [eax + 0x16b0]
mov byte [ecx + edi], bl
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 8]
xor ecx, ecx
mov cl, byte [eax + 0x16b1]
inc edi
mov dword [eax + 0x14], edi
mov byte [edi + ebx], cl
mov ecx, dword [eax + 0x14]
mov edi, dword [eax + 0x16b4]
inc ecx
mov dword [eax + 0x14], ecx
mov cx, 0x10
sub cx, di
shr dx, cl
mov word [eax + 0x16b0], dx
lea edx, [edi + esi - 0x10]
mov dword [eax + 0x16b4], edx
jmp 0x100143d4
mov dx, word [ebp + 0x400]
shl dx, cl
or word [eax + 0x16b0], dx
add ecx, esi
mov dword [eax + 0x16b4], ecx
xor ecx, ecx
pop edi
mov cx, word [ebp + 0x402]
pop esi
pop ebp
mov dword [eax + 0x16ac], ecx
pop ebx
add esp, 8
ret