Function at 0x10010c5
Capabilities:
Packed with generic packer

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xac
push ebx
xor ebx, ebx
push ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], ebx
call dword [0x1001078]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
call fcn.01001529
test al, al
jne 0x10017eb
push 1
call dword [0x1001068]
push eax
call dword [0x1001064]
call dword [0x1001060]
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x100182f
push esi
push edi
call dword [0x100105c]
mov dword [ebp - 4], eax
call dword [0x1001058]
test eax, eax
mov edi, dword [0x1001054]
jl 0x1001832
call dword [0x1001048]
mov dword [ebp - 0x24], eax
push 0x10012e8
push 1
push ebx
call dword [0x1001044]
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x10018dd
call dword [0x1001010]
cmp eax, 0xb7
je 0x10018ae
lea eax, [ebp - 0x1c]
push eax
push 0x20019
push ebx
push 0x1001318
push 0x80000002
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
call dword [0x1001004]
test eax, eax
jne 0x100120d
mov esi, dword [section..text]
lea eax, [ebp - 0x2c]
push eax
push ebx
lea eax, [ebp - 0x28]
push eax
push ebx
push 0x100135c
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x1001201
cmp dword [ebp - 0x28], 1
jne 0x1001201
push dword [ebp - 0x2c]
push ebx
push dword [ebp - 0x14]
call dword [0x1001050]
cmp eax, ebx
mov dword [ebp - 0xc], eax
je 0x1001201
lea ecx, [ebp - 0x2c]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push 0x100135c
push dword [ebp - 0x1c]
call esi
test eax, eax
jne 0x10011f4
push dword [ebp - 0xc]
call dword [0x100103c]
push dword [ebp - 0xc]
push ebx
push dword [ebp - 0x14]
call dword [0x1001038]
push dword [ebp - 0x1c]
call dword [0x1001008]
mov dword [ebp - 0x1c], ebx
push dword [ebp - 4]
call fcn.01001630
test al, al
jne 0x10018f1
push 0x1001374
mov byte [ebp - 5], bl
call dword [0x1001070]
mov edi, eax
cmp edi, ebx
je 0x1001991
push ebx
call dword [section..data]
mov esi, dword [0x100102c]
push 0xbb8
push edi
call esi
push 0xfa0
push edi
mov dword [ebp - 4], eax
call esi
push 0x1001364
push edi
mov dword [ebp - 0xc], eax
call esi
cmp dword [ebp - 4], ebx
mov esi, eax
je 0x10014ff
cmp dword [ebp - 0xc], ebx
je 0x10014ff
cmp esi, ebx
je 0x1001975
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [ebp - 0xc]
test eax, eax
jne 0x10014ff
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0xac], 0x44
call dword [0x1001028]
push 0x8001
call dword [0x1001024]
test byte [ebp - 0x80], 1
jne 0x10014f6
push 0xa
pop eax
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x44]
call dword [ebp - 4]
cmp eax, 0x80070005
mov dword [ebp - 0x40], eax
setne byte [ebp - 5]
jmp 0x10014ff
movzx eax, word [ebp - 0x7c]
jmp 0x10012cd
cmp esi, ebx
jne 0x100196f
jmp 0x1001975
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
push ebx
push 0xc0000002
push ebx
push 0x2900
mov dword [ebp - 0x10], ebx
call dword [0x1001074]
test eax, eax
je 0x100182f
push 0x1001b1c
call dword [0x1001070]
push 0x10
push 0x1001aa8
push dword [ebp - 0x10]
push ebx
call dword [0x10010ac]
push dword [ebp - 0x10]
call dword [0x100106c]
pop ebx
leave
ret
push 0x1001b14
push dword [ebp - 4]
call fcn.010015ca
test eax, eax
pop ecx
pop ecx
je 0x1001141
push dword [ebp - 4]
call edi
mov esi, eax
lea eax, [esi + esi + 2]
push eax
push ebx
push dword [ebp - 0x14]
call dword [0x1001050]
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x100114a
inc esi
push esi
push eax
push 0xffffffffffffffff
push dword [ebp - 4]
push ebx
push 0xfde9
call dword [0x100104c]
test eax, eax
jne 0x10018a6
mov esi, dword [0x1001010]
call esi
test eax, eax
jg 0x1001892
call esi
jmp 0x100189e
call esi
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
jl 0x100114a
mov eax, dword [ebp - 0x18]
jmp 0x1001147
push dword [ebp - 0x10]
call dword [0x1001040]
push ebx
push 0x1001c88
mov dword [ebp - 0x10], ebx
call dword [0x10010b0]
cmp eax, ebx
je 0x10018d0
push eax
call 0x1001d30
push dword [ebp - 0x24]
call 0x1001c99
jmp 0x1001a6a
call dword [0x1001010]
cmp eax, 5
jne 0x1001174
jmp 0x1001a6a
cmp dword [ebp - 4], ebx
mov esi, 0x1001b00
je 0x1001955
push dword [ebp - 4]
call edi
dec ebp
pop edx
nop
add byte [ebx], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
invalid
outsd dx, dword [esi]
jb 0x10019ba
insd dword es:[edi], dx
and byte [ebx + 0x61], ah
outsb dx, byte [esi]
outsb dx, byte [esi]
outsd dx, dword [esi]
je 0x1001982
bound esp, qword [ebp + 0x20]
jb 0x10019dc
outsb dx, byte [esi]
and byte [ecx + 0x6e], ch
and byte [edi + ecx*2 + 0x53], al
and byte [ebp + 0x6f], ch
or eax, 0x240a0d
or eax, 0x240a0d
add byte [eax], al
add byte [eax], al
add byte [eax], al
shr dl, 0xba
sbb al, byte [ebx + ecx*4 - 0x747bb62c]
aam 0x49
test byte [ebx + 0x169f49d4], cl
mov edx, 0xd48b841a
dec ecx
test byte [ebx - 0x747bb62c], cl
aam 0x49
lahf
push ss
dec eax
dec ecx
xchg byte [ebx + 0x169f49d4], cl
dec edx
dec ecx
test dword [ebx + 0x169f49d4], ecx
jle 0x10019ed
xchg edi, eax
mov edx, esp
dec ecx
invalid
jg 0x1001a05
mov word [ebx + 0x169f49d4], cs
dec esi
dec ecx
test dword [ebx + 0x169f49d4], ecx
dec ecx
dec ecx
test dword [ebx + 0x695249d4], ecx
arpl word [eax - 0x7c], bp
mov edx, esp
dec ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push eax
inc ebp
add byte [eax], al
dec esp
add dword [0xf0c5ca00], eax
pop ebp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
loopne 0x10019f6
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, ah
add byte [edx], al
add dword [ebx], ecx
add dword [edx], ecx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
sub al, 0
add al, byte [ecx]
or eax, dword [ecx]
or al, byte [eax]
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
add byte [eax], al
add byte [ecx + esi + 0x10000000], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [edx], al
add byte [eax], al
add eax, 0x100
add byte [eax], al
add byte [0x100], al
add byte [eax], al
add byte [eax], al
nop
add byte [eax], al
add byte [eax + eax], al
add byte [eax], ch
push ds
add dword [eax], eax
add eax, dword [eax]
inc eax
add dword [eax], 0x500
adc byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + edx*2], ah
add byte [eax], bh
add byte [eax], al
add byte [eax], dh
add al, ah
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pushal
add byte [eax], al
cmp byte [eax + eax], bl
add byte [eax], al
loopne 0x1001a76
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [eax], bh
sbb al, 0
add byte [eax], al
add byte [eax], 0
je 0x1001a8a
add byte [eax], al
nop
inc ecx
add byte [eax], al
sbb 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
fcom dword [eax]
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 + 1], dh
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
je 0x1001b40
js 0x1001b51
add byte [eax], al
add dh, cl
add byte cs:[eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax + 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], ah
add byte [eax], al
pushal
jb 0x1001b67
popal
je 0x1001b67
add byte [eax], al
into
sbb dword [eax], eax
add byte [eax], al
inc eax
add byte [eax], al
add byte [edx], bl
add byte [eax], al
add byte [eax + eax], dh
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 + 0x2e], al
popal
je 0x1001b8e
add byte [eax], al
add al, bl
add eax, dword [eax]
add byte [eax], al
pushal
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [esi], cl
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 al, al
jb 0x1001bc6
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
shr byte [esi], 0x72
jae 0x1001bc6
jb 0x1001bc6
jb 0x1001bb8
arpl word [eax], ax
add byte [eax], al
loopne 0x1001b62
add byte [eax], al
add al, ah
or byte [eax], al
add byte [eax], al
jo 0x1001b5f
add byte [eax], al
add byte [eax], dh
add byte [eax], al
or al, byte [eax]
add byte [eax], al
push eax
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
inc eax
add byte [eax], al
inc eax
jb 0x1001be0
add byte [eax], al
add byte [eax], dl
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 + 0x2e], al
jb 0x1001be0
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
add byte [eax + 5], dh
add byte [eax], al
add byte [eax + 0x6000000], al
add byte [eax], al
add byte [edx], bl
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 [edx], 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], 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
inc eax
add byte [eax], al
inc edx
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], 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], 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], 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], 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], 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], 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], 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], 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], al
add byte [eax], al
push ebp
mov ebp, esp
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], 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], 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], 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], 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 [ebp - 0x75], dl
in al, dx
sub esp, 0x120
push esi
push edi
lea edi, [ebp - 0x120]
mov ecx, 0x48
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x406010]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x114
push 0
lea eax, [ebp - 0x11c]
push eax
call 0x1003b7c
add esp, 0xc
mov dword [ebp - 0x11c], 0x114
mov esi, esp
lea ecx, [ebp - 0x11c]
push ecx
call dword [0x404084]
cmp esi, esp
call 0x1003b91
cmp dword [ebp - 0x118], 5
jne 0x1001d6d
mov byte [0x406050], 1
mov al, byte [0x406050]
push edx
mov ecx, ebp
push eax
lea edx, [0x4010a0]
call 0x1003bb4
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call 0x1003b82
add esp, 0x120
cmp ebp, esp
call 0x1003b91
mov esp, ebp
pop ebp
ret