Function at 0x1000bc20
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100161de
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x54], 0x7f8a
mov dword [esi + 0x88], 0x1000331c
mov dword [ebp - 0x50], 0x7f00
mov dword [ebp - 0x4c], 0x7f03
mov dword [ebp - 0x48], 0x7f89
mov dword [ebp - 0x44], 0x7f8b
mov dword [ebp - 0x40], 0x7f01
mov dword [ebp - 0x3c], 0x7f81
mov dword [ebp - 0x38], 0x7f88
mov dword [ebp - 0x34], 0x7f80
mov dword [ebp - 0x30], 0x7f86
mov dword [ebp - 0x2c], 0x7f83
mov dword [ebp - 0x28], 0x7f85
mov dword [ebp - 0x24], 0x7f82
mov dword [ebp - 0x20], 0x7f84
mov dword [ebp - 0x1c], 0x7f04
mov dword [ebp - 0x18], 0x7f02
lea ebx, [ebp - 0x54]
lea edi, [esi + 0xcc]
mov dword [ebp - 0x10], 0x10
mov eax, dword [ebx]
push eax
push 0
mov dword [edi - 0x40], eax
call dword [fcn.1000314c]
mov dword [edi], eax
mov eax, dword [ebp - 0x10]
add ebx, 4
add edi, 4
dec eax
mov dword [ebp - 0x10], eax
jne 0x1000bccd
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [esi], 0x10003320
lea eax, [ecx - 1]
cmp eax, 0x1f
ja case.0x1000bd0a.2
xor edx, edx
mov dl, byte [eax + 0x1000bed8]
jmp dword [edx*4 + 0x1000bed0]
mov dword [esi + 0x70], ecx
jmp 0x1000bd1d
mov dword [esi + 0x70], 8
mov ecx, esi
call fcn.1000c600
test al, al
jne 0x1000bd3e
call dword [fcn.100030fc]
push eax
mov dword [esi + 0x10c], eax
call dword [fcn.10003100]
mov dword [esi + 0x44], eax
mov dword [esi + 0x10], 0xcc0020
mov byte [esi + 4], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x14], eax
mov eax, 0x3e8
xor edx, edx
div ecx
mov edi, dword [0x10003108]
push ebx
mov dword [esi + 8], ecx
mov dword [esi + 0x18], eax
mov al, byte [ebp + 0xc]
mov byte [esi + 0xc], al
call edi
push 1
mov dword [esi + 0x28], eax
call edi
mov dword [esi + 0x2c], eax
mov eax, 0x20
cdq
idiv dword [esi + 0x70]
mov ecx, dword [esi + 0x44]
mov edi, dword [0x100030ac]
push ecx
mov dword [esi + 0x30], ebx
mov byte [esi + 0x24], al
call edi
mov edx, dword [esi + 0x44]
mov dword [esi + 0x4c], eax
push edx
call edi
push ebx
mov dword [esi + 0x80], eax
call edi
push ebx
mov dword [esi + 0x48], eax
call edi
mov ecx, dword [esi + 0x70]
lea edi, [esi + 0x5c]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x28]
mov dword [edi], ebx
push 1
lea ebx, [esi + 0x60]
push eax
push ecx
mov ecx, esi
mov dword [ebx], 0
call fcn.1000c300
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x28]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1000c300
mov edx, dword [esi + 0x28]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x70]
push 1
push edx
push eax
mov ecx, esi
call fcn.1000c300
mov dword [esi + 0x6c], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x44]
push 0
push 0
push edi
mov edi, dword [fcn.100030a8]
push 0
push ecx
push edx
call edi
mov dword [esi + 0x54], eax
push 0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x44]
push 0
push ebx
push 0
push eax
push ecx
call edi
mov ecx, dword [esi + 0x44]
push 0
lea edx, [esi + 0x78]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x68]
push 0
push edx
push 0
push eax
push ecx
call edi
mov edx, dword [esi + 0x58]
mov edi, dword [fcn.100030a0]
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x4c]
push edx
push eax
call edi
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0x48]
push ecx
push edx
call edi
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x80]
push eax
push ecx
call edi
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
push edx
push eax
push 0
lea ecx, [esi + 0x34]
push 0
push ecx
call dword [fcn.10003104]
mov edx, dword [esi + 0x68]
mov eax, dword [edx + 0x14]
shl eax, 1
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x1c], eax
xor edx, edx
add esp, 4
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0xc]
div dword [esi + 0x2c]
mov dword [esi + 0x20], 0
pop edi
mov dword [esi + 0x74], eax
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
sub al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
sub al, 0
add byte [eax], al
pushal
xor dh, byte [eax + 0x32]
fdivr qword [ebx]
push esp
cmp al, 0x58
cmp al, 0x5c
cmp al, 0x60
cmp al, 0x64
cmp al, 0x68
cmp al, 0x6c
cmp al, 0x70
cmp al, 0x74
cmp al, 0x78
cmp al, 0xf0
cmp al, 0xf4
cmp al, 8
cmp eax, 0x3d243d0c
add byte [eax], ah
add byte [eax], al
and al, 0
add byte [eax], al
mov al, 0x3f
sar byte [edi], 1
aam 0x3f
fdivr dword [edi]
fdivr qword [edi]
loopne 0x1001c07f
in al, 0x3f
call 0x41ac86
aas
hlt
xor byte [eax + 0x30], dl
push esp
xor byte [eax + 0x30], bl
pop esp
xor byte [eax + 0x30], ah
xor byte fs:[eax + 0x30], ch
insb byte es:[edi], dx
xor byte [eax + 0x30], dh
je 0x1001c0c4
js 0x1001c0c6
jl 0x1001c0c8
xor byte [eax], 0x84
xor byte [eax + esi + 0x30983090], cl
pushfd
xor byte [eax - 0x57cf5bd0], ah
xor byte [eax + esi + 0x30b430b0], ch
mov esp, 0xc430c030
xor ah, cl
xor al, dl
xor al, bl
xor ah, bl
xor ah, ah
xor ah, ch
xor al, dh
xor ah, dh
xor al, bh
hlt
clc
xor ah, bh
cld
xor byte [eax], al
xor dword [ecx + esi], eax
or byte [ecx], dh
or al, 0x31
adc byte [ecx], dh
adc al, 0x31
sbb byte [ecx], dh
sbb al, 0x31
and byte [ecx], dh
and al, 0x31
sub byte [ecx], dh
sub al, 0x31
xor byte [ecx], dh
xor al, 0x31
cmp byte [ecx], dh
cmp al, 0x31
inc eax
xor dword [ecx + esi + 0x48], eax
xor dword [ecx + esi + 0x50], ecx
xor dword [ecx + esi + 0x58], edx
xor dword [ecx + esi + 0x60], ebx
xor dword [ecx + esi + 0x68], esp
xor dword [ecx + esi + 0x70], ebp
xor dword [ecx + esi + 0x78], esi
xor dword [ecx + esi - 0x80], edi
xor dword [ecx + esi + 0x318c3188], eax
nop
xor dword [ecx + esi + 0x319c3198], edx
mov al, byte [0xa831a431]
xor dword [ecx + esi + 0x31b431b0], ebp
mov eax, 0xc431c031
xor eax, ecx
xor esp, ecx
xor esp, edx
xor eax, ebx
xor esp, ebx
xor eax, esp
xor esp, esp
xor eax, ebp
xor esp, ebp
xor eax, esi
xor esp, esi
xor eax, edi
xor esp, edi
xor dword [eax], eax
xor al, byte [edx + esi]
or byte [edx], dh
or al, 0x32
adc byte [edx], dh
sbb byte [edx], dh
sbb al, 0x32
and byte [edx], dh
and al, 0x32
sub byte [edx], dh
sub al, 0x32
xor byte [edx], dh
xor al, 0x32
cmp byte [edx], dh
cmp al, 0x32
inc eax
xor al, byte [edx + esi + 0x48]
xor cl, byte [edx + esi + 0x50]
xor bl, byte [eax + 0x32]
pop esp
xor dh, byte [eax + 0x32]
je 0x1001c1a8
js 0x1001c1aa
jl 0x1001c1ac
mov byte [edx], dh
mov al, byte [0xa832a432]
xor ch, byte [edx + esi + 0x32b832b4]
enter 0xffffffffffffcc32, 0x32
sal byte [edx], 1
aam 0x32
fdiv dword [edx]
fdiv qword [edx]
call 0x34adcb
xor al, byte [eax]
xor edx, dword [eax]
xor edx, dword [ebx + esi]
sbb byte [ebx], dh
sbb al, 0x33
and byte [ebx], dh
and al, 0x33
sub byte [ebx], dh
sub al, 0x33
xor byte [ebx], dh
inc eax
xor eax, dword [ebx + esi + 0x48]
xor ecx, dword [ebx + esi + 0x50]
xor esp, eax
xor ebp, esp
xor edi, eax
xor eax, dword [esp + esi]
adc byte [esp + ebx], dh
xor al, 0x28
xor al, 0x34
xor al, 0x40
xor al, 0x4c
xor al, 0
inc eax
add byte [eax], al
aam 0
add byte [eax], al
cld
xor byte [eax], al
xor dword [eax - 0x53ce67cf], eax
xor dword [ecx + esi + 0x31d831c0], edi
in al, 0x31
retf