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

Disassembly:
mov edi, dword [esi]
mov cl, byte [ebp + eax - 0x1c]
add cl, 0x1f
mov dl, byte [edi + 0xbc]
sub dl, 0x14
xor cl, dl
jb 0x417923
mov byte [edi + eax + 0x24], cl
inc eax
cmp eax, 8
jl 0x4177e4
jge 0x404f10
xor al, 0xc4
int3
jmp fcn.0040639a
test al, al
jb 0x41794c
jne 0x408a6e
je 0x404f2a
mov al, byte ds:[0xe4458dd4]
lea eax, [ebp - 0x1c]
push 8
add ecx, 0x24
jmp 0x404f36
push eax
push ecx
ja 0x408a5c
jbe 0x404f46
test dword [eax], ecx
in eax, 9
jg 0x404f56
jbe 0x408a5c
xchg byte [eax], dl
cmp eax, dword [eax]
add cl, bl
mov al, 0x8b
pop esi
add al, 0xf
fnstenv [eax + 0xf045e8b]
mov dh, bh
mov dh, 2
add byte [ecx + 5], bh
invalid
call int.0043d1e6
add esp, 0xc
jmp fcn.0040639a
xor eax, eax
jb 0x43eabf
mov ecx, dword [esi]
shl dl, 0x20
inc eax
call fcn.0040f05e
and eax, 0x3ad2e881
add al, byte [eax]
xor eax, eax
jb 0x419e7d
mov ax, word [edi + 0x24]
jne 0x43d8f9
je 0x408aa2
ljmp 0x840f:0xa12cba41
je 0x43d8f9
xor eax, 0xfe58941
mov byte [ecx - 0x69], dh
add eax, dword [eax]
jns 0x408aba
mov eax, 0x6ef33664
or cl, byte [edi]
mov dword [ebx - 0x69], esp
add eax, dword [eax]
jns 0x442223
fsubr dword [edi + ecx - 0x7f]
outsb dx, byte [esi]
sti
add byte [eax], al
jo 0x408acf
ror esp, 1
pop ecx
hlt
jo 0x418636
add eax, 0x4468bdd
movzx eax, byte [ebp + eax]
add esi, 8
shl eax, cl
add ebx, eax
test ecx, 0x80000000
jb 0x432a15
jne 0x40790c
shl ebx, 0x20
je 0x408b06
adc eax, dword [esi + 0xa7aac3a]
xchg bx, di
xchg di, bx
jno 0x443c21
shl si, 0x20
jo 0x408b1b
pop esi
mov ch, 0x2e
jns 0x42e694
and dh, 0x68
fisttp qword [0x82c30044]
and ecx, dword [ebp - 0x7ef0f78a]
sub dword [ecx], edi
add byte [eax + 3], dh
out 0xa9, al
jnp 0x4137a9
sbb byte [esi], 0x79
add byte [eax], al
mov dword [edx], 0x41dfb5
xor byte [eax], al
add byte [eax], al
sub al, 0
add byte [eax], al
and byte [eax], dh
inc ebx
add cl, ah
in eax, dx
inc ecx
add byte [edx + 0x3000425c], ch
add byte [eax], al
add ah, cl
outsd dx, dword [esi]
inc ebx
add byte [eax + eax], ch
add byte [eax], al
sub byte [eax], al
add byte [eax], al
scasd eax, dword es:[edi]
sub byte [edx], al
inc eax
add byte [eax], al
add byte [0xaa000000], ah
pop esp
inc edx
add byte [eax], bh
add byte [eax], al
add byte [edi + 0x2000423b], al
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [ecx], cl
aad 0x43
add byte [edx], dh
loopne 0x413832
add byte [esp + eax*2], bh
inc esp
add byte [eax], al
add byte [eax], al
sub al, 0
add byte [eax], al
stosd dword es:[edi], eax
dec ecx
inc ebx
add byte [eax], cl
cmp byte [ecx], al
or dl, byte [esi - 0x6d]
stosd dword es:[edi], eax
dec ecx
inc ebx
add byte [edx], dh
loopne 0x413851
add al, bl
sbb dword [esi - 0x75], esp
push ebp
adc byte [edi], cl
xchg dword [esi + ebp], edi
add dword [eax], eax
push ebp
pop ebp
lea ebp, [ebp]
jbe 0x413829
leave
push 0x24
mov al, byte [0x860faa2a]
sub dword [esi], ebp
add dword [eax], eax
jbe 0x426658
fabs
push 0xb
push esi
call fcn.00443cfe
add esp, 8
pop edi
pop esi
or edi, edi
imul al
les eax, [ebx + eax]
add byte [ecx + 0x8c4], al
add byte [edi + 0x5e], bl
mov esp, ebp
pop ebp
ret
cld
stc
or al, 8
jb 0x41d584
push eax
push esi
call fcn.0040c5c6
jmp 0x413864
push edi
call fcn.00409e7a
jne 0x445f03
je 0x413878
int 0x2c
add al, byte [ecx]
cld
je 0x445f03
add eax, 0x85e8b41
mov al, al
js 0x42f689
jns 0x413891
nop
cpuid
ret
jns 0x42f689
jmp dword [esi]
test al, 0xc0
shl ch, 0x20
js 0x40cb0b
jns 0x4143fc
div byte [ebx - 0x4d]
jns 0x414474
popal
jns 0x40cb0b
xor eax, 0x284d89c7
mov ebp, ebp
lea esi, [esi + 4]
mov dword [ebp + 0x40], edi
jmp dword [esi]
int1
push esi
call fcn.0042c55a
xor edx, edx
jb 0x4145b6
fdiv st(3)
or ebp, edx
inc ebx
add byte [ebx - 0x54ffbf65], bl
dec ecx
inc ebx
add bl, cl
inc ebp
inc ecx
add byte [edi - 0x204abccc], dh
inc ecx
add byte [eax], ch
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [eax], ah
xor byte [ebx], al
adc eax, 0xa00040a2
inc ebx
add byte [eax], al
popal
add byte [eax + 0x2c], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
sub byte [eax], al
add byte [eax], al
invalid
add esp, 0x18
jmp fcn.0040f08a
xor eax, 0x24648ddc
add al, 0xe9
push ecx
enter 1, 0xffffffffffffffd9
stosb byte es:[edi], al
call fcn.004380cf
xor eax, eax
jb 0x43165d
mov ax, word [edi + 0x20]
push eax
push esi
push edi
pop edi
call fcn.0042c55a
xor ecx, ecx
jb 0x413778
mov cx, word [edi + 0x24]
push ecx
xchg dl, bh
xchg bh, dl
push esi
call fcn.00423dfe
sub edx, 0
jno 0x4172f0
adc eax, 0xba810f1d
out dx, al
invalid
jno 0x4161b0
invalid
lea esp, [esp + 4]
mov al, byte [ecx + 0xba]
cmp al, 1
jne 0x4177cb
je 0x41778a
mov byte [0xfb80211b], al
push edx
xor eax, eax
jb 0x428e9f
mov edi, dword [esi]
mov cl, byte [ebp + eax - 0x1c]
add cl, 0x80
mov dl, byte [edi + 0xbc]
sub dl, 2
xor cl, dl
jb 0x442c6d
mov byte [edi + eax + 0x24], cl
inc eax
cmp eax, 8
jl 0x417792
jge 0x4177c1
inc esi
mov ebx, 0xebd4e9d8
invalid
jmp fcn.0040639a
cmp al, 2
mov bl, bl
jne 0x404f17
je 0x4177dc
jg 0x4177f9
jbe 0x4177cb
in al, dx
xor eax, eax
jb 0x4172aa
jno 0x404edf
jo 0x4177ee
daa
adc byte [edi], cl
sub bl, 0xd6
invalid
jo 0x404edf
add eax, 0x59ebe892
add al, byte [eax]
mov ecx, dword [ebp - 4]
add esp, 0xc
mov dword [0x475750], ecx
shl bh, 0x20
mov eax, dword [0x475750]
mov esp, ebp
shr bx, 0x40
pop ebp
ret
je 0x41790f
add byte [0x45e8b5a], ah
lea esi, [esi + 8]
xchg dh, cl
xchg cl, dh
shl word [ebp + ebx], cl
jmp dword [esi]
movsb byte es:[edi], byte [esi]
pop edx
mov si, si
mov al, al
mov cl, byte [ebp + 0x28]
mov ebx, dword [esi + 4]
mov cx, cx
lea esi, [esi + 8]
shl dword [ebp + ebx], cl
jne 0x43eabd
je 0x417946
loopne 0x41790d
dec ebp
mov esi, 0x7171840f
add al, byte [eax]
je 0x43eabd
invalid
mov word [esi + 0xbc], di
ja 0x431ace
jbe 0x41864b
ficomp dword [eax - 0x3f402001]
jbe 0x431ace
xor al, 0x54
xchg ebp, eax
rol dword [ebx], 0x42
mov bl, 0x2a
sub dword [eax + eax + 0x79], eax
add byte [eax], al
add byte [eax + eax], ah
add byte [eax], al
stosb byte es:[edi], al
pop esp
inc edx
add byte [eax], bh
add byte [eax], al
add ch, ch
aaa
inc edx
add byte [ecx - 0x3fffbcf8], bh
std
inc eax
add byte [edi - 0x7a], bh
inc ecx
add byte [eax - 0x17], ch
sar ch, 0x40
add byte [ecx + 0x5004308], bh
invalid