Function at 0x10003a93
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x100a69a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
push 1
mov dword [ebp - 0x248], ebx
call sub.mfc100.dll_Ordinal_13219
mov esi, 0xc8
push esi
push 0x100a6b68
lea ecx, [ebx + 0xb8]
call sub.mfc100.dll_Ordinal_6969
push esi
push 0x100a6aa0
lea ecx, [ebx + 0x12c]
call sub.mfc100.dll_Ordinal_6969
movzx esi, byte [0x10342ad0]
and dword [ebp - 0x23c], 0
and dword [ebp - 0x238], 0
mov cl, byte [0x11f6d2e]
test esi, esi
jle 0x10003b42
mov eax, dword [ebp - 0x238]
add dword [ebp - 0x238], 2
lea eax, [eax + 0x10342ad1]
mov dl, byte [eax + 1]
mov al, byte [eax]
sub dl, cl
sub al, cl
sub dl, 2
sub al, 2
shl al, 4
and dl, 0xf
add dl, al
mov eax, dword [ebp - 0x23c]
inc dword [ebp - 0x23c]
mov byte [ebp + eax - 0x16c], dl
cmp dword [ebp - 0x238], esi
jl 0x10003afe
mov eax, dword [ebp - 0x23c]
push 0x100a6b68
mov byte [ebp + eax - 0x16c], 0
call sub.MSVCR100.dll_strlen
pop ecx
test eax, eax
je 0x10003f0b
push 0x100a6aa0
call sub.MSVCR100.dll_strlen
pop ecx
test eax, eax
je 0x10003f0b
lea eax, [ebp - 0x16c]
push eax
call sub.MSVCR100.dll_strlen
pop ecx
test eax, eax
jne 0x10003b9e
mov ecx, dword [0x10112810]
push 0xffffffffffffffff
call sub.mfc100.dll_Ordinal_4785
push 0x1008b804
jmp 0x10003f1d
xor esi, esi
push esi
lea ecx, [ebx + 0xb8]
call sub.mfc100.dll_Ordinal_3970
push esi
lea ecx, [ebx + 0x12c]
call sub.mfc100.dll_Ordinal_3970
mov ecx, ebx
push esi
add ecx, 0x1a0
call sub.mfc100.dll_Ordinal_3970
push 0x1f4
call sub.mfc100.dll_Ordinal_265
mov dword [esp], 0x10111b20
push 0x1008b758
push eax
mov dword [ebp - 0x238], eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
push 0x1008b800
push ebx
mov ebx, 0x7894d3b3
pushfd
test bl, 0x8c
js 0x104a8392
mov ecx, dword [0x10112810]
push 0xffffffffffffffff
call sub.mfc100.dll_Ordinal_4785
push 0x1008b7ec
mov ecx, eax
call sub.mfc100.dll_Ordinal_12868
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10083a34
leave
ret
neg dl
jmp 0x104e2d46
cmp bl, 0xa0
not ebx
jg 0x104de79d
mov eax, 0x4db67698
lea ebp, [eax + ebp - 0x4db67699]
call fcn.1000360a
dec ebx
invalid
xor cl, cl
jbe 0x103f4365
jp 0x104ddc5e
xchg ebx, eax
sub byte [ecx - 0x69], cl
mov eax, 0x129766
xor esi, dword [ebx - 0x29]
fdivr qword [esi + edx]
mov byte [eax - 0x26], cl
sbb esi, esi
jnp 0x104ddc31
popal
std
jno 0x104ddc75
arpl word gs:[eax + 0x73], dx
jno 0x104ddc3b
invalid
jg 0x104ddcee
ret 0xc109
fstp dword [esi + 0x13289160]
bound ebx, qword [ecx - 0x3c7e7c18]
cmpsb byte [esi], byte es:[edi]
sub esp, dword [edx - 0x6f]
popfd
sbb dword [ecx + 0x15], ebp
xchg ebp, eax
xchg byte [edi], cl
stosd dword es:[edi], eax
test byte [ecx + edi*8], bh
or ebp, dword [edx]
mov byte cs:[0xd791a60b], al
pushfd
push 0x7d
cmp byte [ebp - 0x4f64fbc5], 0x18
test eax, 0x28e5bd8b
add edi, dword [ebp - 0x3f]
xchg byte [edi], al
aad 0xd9
pop ebp
xchg edi, eax
ljmp 0x6e52
lea ebx, [ebx*8 - 0x58f8a9e2]
mov ebx, dword [esp + 4]
mov dword [esp + 4], 0xaad8b416
push dword [esp]
popfd
lea esp, [esp + 4]
call fcn.10507915
mov eax, 0x9d143e2f
sub esi, 1
movzx edx, byte [esi]
xor dl, bl
dec dl
lea ecx, [eax + eax*8 + 0x331f3b85]
neg dl
sub dl, 0xa5
sub eax, 0xc2202808
add al, al
rol dl, 1
jmp 0x104ddc39
neg ecx
xor bl, dl
neg cx
add edx, esp
mov eax, dword [edx + ecx - 0x472a6b00]
lea ebp, [ebp + ecx - 0x472a6b04]
movsx edx, cl
inc edx
mov dword [ebp + ecx - 0x472a6b00], eax
movzx eax, cx
jno 0x104ca4cd