Function at 0x100327e0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x20], 0
mov dword [esp + 0x1c], 0xe8
mov byte [esp + 0x10], 0
mov dword [esp + 0xc], 0xe9
mov word [esp + 0x18], 0
mov dword [esp + 0x14], 0x800f
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [esp + 4], 0
xor edx, edx
xor ebx, ebx
nop
movzx ebp, bl
add ebp, dword [ecx]
mov dword [esp + 0x40], edx
movzx edi, dl
mov esi, dword [ecx + 8]
add esi, edi
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.100317c0
add esp, 8
mov dword [esp + 8], eax
test byte [esp + 0x3d], 0x10
jne 0x10032ace
cmp bl, 5
jb 0x10032890
mov eax, ebp
sub eax, esi
add eax, 0xfffffffb
mov dword [esp + 0xd], eax
mov dword [esp + 8], 5
mov al, 1
mov dword [esp], eax
lea eax, [esp + 0xc]
cmp ebp, dword [esp + 4]
jb 0x10032a20
jmp 0x10032a2f
movzx eax, byte [esp + 0x2a]
cmp eax, 0xe8
jne 0x100328e0
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov edx, ebp
sub edx, esi
add edx, eax
lea eax, [ecx + edx]
add eax, 0xfffffffb
mov dword [esp + 0x1d], eax
mov dword [esp + 8], 5
mov dword [esp], 0
lea eax, [esp + 0x1c]
cmp ebp, dword [esp + 4]
jb 0x10032a20
jmp 0x10032a2f
mov edx, eax
and edx, 0xfffffffd
cmp edx, 0xe9
jne 0x100328fe
movzx edx, byte [esp + 0x24]
add edx, ebp
cmp al, 0xeb
je 0x1003293d
mov ecx, dword [esp + 0x34]
jmp 0x10032942
mov edx, eax
and edx, 0xfffffff0
cmp edx, 0x70
sete dl
mov ecx, eax
and ecx, 0xfffffffc
cmp ecx, 0xe0
sete dh
or dh, dl
jne 0x1003292c
movzx ecx, byte [esp + 0x2b]
and cl, 0xf0
cmp cl, 0x80
jne 0x100329fc
movzx ecx, byte [esp + 0x24]
add ecx, ebp
test dh, dh
jne 0x10032980
mov edx, dword [esp + 0x34]
jmp 0x10032985
movsx ecx, byte [esp + 0x34]
add edx, ecx
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
cmp edx, ecx
jb 0x10032960
add ecx, 5
cmp edx, ecx
jae 0x10032960
mov ecx, dword [esp + 4]
cmp ecx, edx
cmovbe ecx, edx
jmp 0x100329a9
sub edx, esi
add edx, 0xfffffffb
mov dword [esp + 0xd], edx
cmp ebp, dword [esp + 4]
setae al
mov dword [esp], eax
mov dword [esp + 8], 5
jmp 0x1003287b
movsx edx, byte [esp + 0x34]
add ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx]
mov ecx, dword [esp]
cmp ecx, edx
jb 0x100329b6
add edx, 5
cmp ecx, edx
jae 0x100329b6
mov eax, ecx
mov ecx, dword [esp + 4]
cmp ecx, eax
cmovbe ecx, eax
mov dword [esp + 4], ecx
mov dword [esp], 0
jmp 0x10032a13
mov ecx, eax
and al, 0xfc
cmp al, 0xe0
je 0x10032ace
cmp cl, 0xf
movzx eax, byte [esp + 0x2b]
cmovne eax, ecx
and al, 0xf
or al, 0x80
mov byte [esp + 0x15], al
mov eax, dword [esp]
sub eax, esi
add eax, 0xfffffffa
mov dword [esp + 0x16], eax
mov dword [esp + 8], 6
mov dword [esp], 0
lea eax, [esp + 0x14]
cmp ebp, dword [esp + 4]
jb 0x10032a20
jmp 0x10032a2f
and eax, 0xfffffffe
cmp eax, 0xc2
sete cl
cmp ebp, dword [esp + 4]
setae al
and al, cl
mov dword [esp], eax
mov eax, ebp
cmp ebp, dword [esp + 4]
jae 0x10032a2f
nop dword [eax + eax]
movzx ecx, byte [esp + 0x24]
cmp dword [esp + 8], ecx
jne 0x10032ace
mov ecx, dword [esp + 8]
lea edx, [ecx + edi]
cmp edx, 0x20
ja 0x10032ace
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x10]
cmp ecx, 8
jae 0x10032ace
mov ebp, dword [esp + 0x58]
mov byte [ebp + ecx + 0x14], bl
mov ecx, dword [ebp + 0x10]
mov esi, ebx
mov ebx, dword [esp + 0x40]
mov byte [ebp + ecx + 0x1c], bl
mov ebx, esi
inc dword [ebp + 0x10]
add edi, dword [ebp + 8]
mov ecx, dword [esp + 8]
xchg esi, eax
rep movsb byte es:[edi], byte [esi]
xchg esi, eax
mov ecx, ebp
add bl, byte [esp + 0x24]
cmp byte [esp], 0
je 0x10032830
mov eax, 1
cmp bl, 4
ja 0x10032ad0
movzx edx, bl
mov esi, dword [ecx]
movzx ecx, byte [esi + edx]
test ecx, ecx
je 0x10032aab
cmp ecx, 0xcc
je 0x10032aab
cmp ecx, 0x90
jne 0x10032ad8
mov edi, 5
sub edi, edx
cmp edi, 2
jb 0x10032ad0
mov edi, edx
nop dword [eax]
cmp byte [esi + edi + 1], cl
jne 0x10032ad8
inc edi
cmp edi, 4
jne 0x10032ac0
jmp 0x10032ad0
xor eax, eax
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
cmp bl, 1
ja 0x10032b0b
xor eax, eax
test ecx, ecx
je 0x10032af3
cmp ecx, 0xcc
je 0x10032af3
cmp ecx, 0x90
jne 0x10032ad0
mov edi, 2
sub edi, edx
cmp edi, 2
jb 0x10032b0b
cmp byte [esi + edx + 1], cl
jne 0x10032ad0
inc edx
cmp edx, 1
jne 0x10032aff
add esi, 0xfffffffb
push esi
call fcn.10031790
add esp, 4
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x10032ad0
mov esi, dword [esp + 0x58]
mov ecx, dword [esi]
movzx edx, byte [ecx - 5]
test edx, edx
je 0x10032b3d
cmp edx, 0xcc
je 0x10032b3d
cmp edx, 0x90
jne 0x10032ad0
cmp byte [ecx - 4], dl
jne 0x10032ad0
cmp byte [ecx - 3], dl
jne 0x10032ad0
cmp byte [ecx - 2], dl
jne 0x10032ad0
cmp byte [ecx - 1], dl
jne 0x10032ad0
mov dword [esi + 0xc], 1
mov eax, 1
jmp 0x10032ad0