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

Disassembly:
push edx
sub edx, 0xc9f2
sub edx, 0x11ab3
and edx, 0x106f2
pop edx
push esi
or esi, 0x1605d
call 0x1000962b
add byte [ebp + esi + 0x4d], al
cmp al, 0x34
cmp al, 0x46
add esp, 4
or esi, 0x6079
pop esi
lea ecx, [ebp - 0x1754]
mov dword [ebp - 0xcf0], ecx
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcec], eax
xor ecx, ecx
mov word [ebp - 0x240], cx
xor edx, edx
mov word [ebp - 0x54], dx
push esi
push edx
add esp, 4
jmp 0x1000966a
xor esi, 0x6412
add esi, 0xc05
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x15100
pop ebx
push edi
sub edi, 0xa5e
and edi, 0x14005
pop edi
mov eax, dword [ebp - 0xcec]
invalid
jmp dword [esi - 0x75]
or byte [esi - 0x77], ah
lea esp, [esi - 0x74000011]
xchg ebp, eax
adc al, 0xf3
invalid
inc dword [ebx - 0x6a76fd3e]
adc al, 0xf3
invalid
jmp dword [esi - 0x75]
test dword [esi + 0x66ffffef], esp
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0xcf0]
mov dx, word [ecx]
mov word [ebp - 0x105c], dx
mov eax, dword [ebp - 0xcf0]
add eax, 2
mov dword [ebp - 0xcf0], eax
mov cx, word [ebp - 0x105c]
mov word [ebp - 0x54], cx
push esi
sub esi, 0x7e60
or esi, 0x15019
add esi, 0x15aa
pop esi
push edi
push esi
add esp, 4
sub edi, 0x1397c
or edi, 0x126b1
xor edi, 0x1a3
add edi, 0xb77a
pop edi
movzx edx, word [ebp - 0x54]
test edx, edx
jne 0x10009737
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x1694], eax
jmp 0x10009791
movzx edx, word [ebp - 0x240]
movzx eax, word [ebp - 0x54]
cmp edx, eax
je 0x1000965f
movzx ecx, word [ebp - 0x240]
xor ecx, 0x20
movzx edx, word [ebp - 0x54]
cmp ecx, edx
je 0x1000965f
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
cmp eax, ecx
jge 0x1000977b
mov dword [ebp - 0x168c], 0xffffffff
jmp 0x10009785
mov dword [ebp - 0x168c], 1
mov edx, dword [ebp - 0x168c]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x100097da
push edx
sub edx, 0x11aa5
add edx, 0xf9fc
add edx, 0xfcf
sub edx, 0x334f
pop edx
push esi
call 0x100097c2
add byte [edx + 0x4e], al
inc esi
dec ebp
xor al, 0x47
inc ebx
add esp, 4
or esi, 0x7abd
pop esi
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x300], eax
jmp 0x10009842
push esi
xor esi, 0xb4dc
call 0x100097f0
add byte [ecx], bh
xor bh, byte [ebx + eax*2]
xor dh, byte [edi]
inc ebx
xor al, 0x3b
add esp, 4
call 0x10009803
add byte [ebx + 0x3b], al
dec ebp
push eax
inc ecx
inc ebp
inc edx
xor eax, 0x4c4833d
jmp 0x1000980b
pop esi
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0xcf4]
je 0x10009838
mov ecx, dword [ebp - 0x518]
cmp dword [ecx + 0x30], 0
jne 0x10009603
mov dword [ebp - 0x300], 0
push eax
add eax, 0x360a
sub eax, 0x3f8
pop eax
push eax
push ebx
add esp, 4
jmp 0x1000985b
pop eax
push esi
push esi
add esp, 4
sub esi, 0x7aa0
sub esi, 0xacc7
or esi, 0x5659
pop esi
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x358], eax
push esi
and esi, 0xbc90
and esi, 0x1598e
pop esi
push ecx
xor ecx, 0x18336
jmp 0x1000989f
or ecx, 0x10247
call 0x100098b1
add byte [edi + 0x33], cl
xor al, byte [eax + 0x3c]
cmp al, 0x83
les eax, [ecx + ebx*2]
mov dword [ebp - 0x798], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 0
jne 0x100098e5
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], edx
jmp 0x10009bd6
mov eax, dword [ebp - 0x1698]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x169c], ecx
jne 0x1000990d
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], edx
jmp 0x10009bd6
mov eax, 8
imul ecx, eax, 0
enter 0xffffffffffff8b00, 0xffffffffffffff95
jmp 0x548c991c
or bh, byte [eax - 0x77]
test dword [eax - 0x17], esp
invalid
inc dword [ebx - 0x169f43]
inc dword [eax]
jne 0x1000993f
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], ecx
jmp 0x10009bd6
mov edx, dword [ebp - 0x358]
add edx, dword [ebp - 0x16a0]
mov dword [ebp - 0x78c], edx
jne 0x10009964
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x51c], eax
jmp 0x10009bd6
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19f4], eax
mov dword [ebp - 0x790], 0
jmp 0x100099be
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0xae0], edx
push ebx
and ebx, 0xf9e9
add ebx, 0xfceb
and ebx, 0x7be3
pop ebx
push ecx
push ebx
add esp, 4
and ecx, 0x3c16
xor ecx, 0x81f1
sub ecx, 0xe595
or ecx, 0xbbf9
pop ecx
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0x19fc], eax
lea ecx, [ebp - 0xcfc]
push ecx
push 0x40
mov edx, dword [ebp - 0x16a4]
push edx
mov eax, dword [ebp - 0x3fc]
push eax
call dword [ebp - 0x19fc]
test eax, eax
jne 0x10009c87
push ebx
xor ebx, 0x10322
and ebx, 0x5ff8
pop ebx
push ebx
push edi
add esp, 4
add ebx, 0xa51b
call 0x10009c69
add byte [ecx + 0x38], cl
xor cl, byte [edx + 0x3d]
cmp al, 0x40
dec ebx
cmp dword [ebx - 0x3c7efb3c], eax
jecxz 0x10009c7c
add byte [eax], al
pop ebx
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a00], ecx
push 0
call dword [ebp - 0x1a00]
out 0xff, al
jmp [edx]
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x79c], edx
jmp 0x10009ca4