Function at 0x10069160
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov dword [esp + 4], edx
mov edi, dword [ecx + 4]
mov ebx, dword [ecx + 0x2c]
lea ebp, [edi + ebx]
movzx ecx, word [edi + ebx]
rol cx, 8
cmp cx, 6
mov dword [esp + 0xc], ebp
ja case.0x10069189.1
movzx eax, cx
jmp dword [eax*4 + 0x101ae3c0]
movzx eax, word [ebp + 2]
rol ax, 8
movzx ecx, ax
add ecx, 0xfffffffa
xor eax, eax
mov edx, dword [esp + 4]
cmp ecx, edx
jle 0x1006944a
movzx eax, byte [ebp + edx + 6]
jmp 0x1006944a
mov eax, ecx
and eax, 0xfffe
cmp ax, 0xc
jne case.0x10069189.2
mov eax, dword [ebp + 0xc]
bswap eax
test eax, eax
jle 0x10069217
mov dword [esp + 8], ecx
xor esi, esi
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 4]
jmp 0x100691e6
mov eax, edi
cmp eax, esi
jle 0x10069217
mov edi, eax
sub edi, esi
sar edi, 1
add edi, esi
lea ecx, [edi*4]
lea ebp, [ecx + ecx*2]
mov ecx, dword [ebx + ebp + 0x10]
bswap ecx
cmp ecx, edx
ja 0x100691e0
mov esi, dword [ebx + ebp + 0x14]
bswap esi
cmp esi, edx
jae 0x100692e5
inc edi
mov esi, edi
cmp eax, esi
jg 0x100691e6
xor eax, eax
jmp 0x1006944a
xor eax, eax
mov edx, dword [esp + 4]
cmp edx, 0xffff
jg 0x1006944a
movzx ecx, byte [edi + ebx + 0xc]
shl ecx, 8
movzx eax, byte [edi + ebx + 0xd]
movzx ebp, byte [edi + ebx + 0xa]
shl ebp, 8
and eax, 0xfffffffe
or eax, ecx
lea ecx, [edi + ebx]
add ecx, 0xe
mov dword [esp + 0x14], ecx
movzx ecx, word [ecx + eax]
rol cx, 8
movzx ecx, cx
xor esi, esi
cmp ecx, edx
cmovle esi, eax
movzx eax, byte [edi + ebx + 0xb]
mov dword [esp], ebp
or bp, ax
mov dword [esp + 8], ebx
lea ecx, [ebx + esi + 0xc]
je 0x10069307
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xc]
movzx ebx, word [ecx + 8]
rol bx, 8
movzx eax, ax
mov esi, dword [esp]
or esi, eax
test al, 1
jne 0x1006930b
mov ecx, dword [esp + 0x10]
jmp 0x1006933a
movzx eax, word [ebp + 6]
rol ax, 8
movzx esi, ax
xor eax, eax
mov edx, dword [esp + 4]
cmp esi, edx
ja 0x1006944a
movzx ecx, word [ebp + 8]
rol cx, 8
movzx ecx, cx
add ecx, esi
cmp ecx, edx
jbe 0x1006944a
sub edx, esi
movzx eax, word [ebp + edx*2 + 0xa]
rol ax, 8
movzx eax, ax
jmp 0x1006944a
mov edx, dword [esp + 4]
sub edx, ecx
xor eax, eax
cmp word [esp + 8], 0xc
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + ebp + 0x18]
bswap ecx
cmove eax, edx
add eax, ecx
jmp 0x1006944a
mov eax, ecx
jmp 0x10069344
movzx ebx, bx
shr ebx, 1
mov eax, dword [esp + 0x10]
add eax, edi
mov ecx, ebx
and ecx, 0xfffffffe
movzx eax, word [ecx + eax]
rol ax, 8
mov dword [esp], esi
movzx esi, ax
xor eax, eax
cmp esi, edx
mov esi, dword [esp]
cmovl eax, ecx
add eax, dword [esp + 0x10]
dec ebp
mov ecx, eax
cmp si, 1
jne 0x100693d8
sub eax, dword [esp + 8]
add eax, 0x1fff4
and eax, 0x1fffe
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax]
rol cx, 8
movzx ecx, cx
cmp ecx, edx
jl case.0x10069189.2
mov ebp, dword [esp + 0xc]
movzx ecx, word [ebp + 6]
rol cx, 8
movzx ebx, cx
mov ecx, ebx
and ecx, 0xfffffffe
add ecx, ebp
add ecx, 0xe
movzx ecx, word [eax + ecx + 2]
rol cx, 8
movzx ecx, cx
xor esi, esi
cmp ecx, edx
jg 0x10069447
mov dword [esp], ecx
shr ebx, 1
add ebp, 0xe
lea ecx, [ebx + ebx]
lea esi, [ecx + ecx*2]
lea ecx, [esi + ebp]
movzx ecx, word [eax + ecx + 2]
rol cx, 8
test cx, cx
je 0x10069430
movzx ecx, cx
add edi, ecx
sub edx, dword [esp]
lea ecx, [edi + edx*2]
mov edx, dword [esp + 8]
add edx, esi
add edx, ecx
movzx eax, word [eax + edx + 0x10]
rol ax, 8
movzx esi, ax
jmp 0x10069447
mov eax, ecx
jmp 0x100693ec
add eax, esi
add bp, 0xfffe
je 0x10069344
movzx ebx, bx
lea ecx, [edi + eax]
shr ebx, 2
movzx ecx, word [ecx + ebx*2]
rol cx, 8
movzx ecx, cx
cmp ecx, edx
jl 0x10069410
xor esi, esi
jmp 0x10069413
lea esi, [ebx + ebx]
add esi, eax
lea ecx, [edi + esi]
mov eax, ebx
and eax, 0xfffffffe
movzx ecx, word [eax + ecx]
rol cx, 8
movzx ecx, cx
cmp ecx, edx
jl 0x100693e0
xor eax, eax
jmp 0x100693e0
lea ecx, [ebx*4]
add ecx, ebp
movzx eax, word [eax + ecx + 2]
rol ax, 8
movzx esi, ax
add esi, edx
movzx eax, si
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3