Function at 0x10050710
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 8]
movzx ecx, word [ebx + 4]
movzx edx, word [ebx]
mov esi, dword [edi + 0x14]
mov dword [ebp - 0xc], esi
cmp dx, cx
jge 0x1005073f
mov ax, word [ebx + 6]
mov byte [ebp + 0xb], 0
cmp ax, word [ebx + 2]
jg 0x10050743
mov byte [ebp + 0xb], 1
mov eax, ecx
mov dword [ebp - 0x20], 0
sub eax, edx
cmp byte [ebp + 0xb], 0
movzx eax, ax
cmovne eax, dword [ebp - 0x20]
cwde
dec eax
mov dword [ebp - 0x20], eax
cmp dx, cx
jge 0x10050777
movzx eax, word [ebx + 6]
movzx ecx, word [ebx + 2]
cmp ax, cx
jle 0x10050777
sub eax, ecx
movzx eax, ax
jmp 0x10050779
xor eax, eax
cwde
dec eax
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x10050a6d
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10050795
call sym.tesseract41.dll_public:_class_DENORM_const____thiscall_DENORM::RootDenorm_void_const
movsx edx, word [esi + 0x10]
mov esi, dword [edi + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], esi
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
add eax, ecx
cmp eax, esi
lea ecx, [eax + edx]
cmovg ecx, eax
xor edx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 8], eax
test esi, esi
jle 0x1005082e
mov ecx, dword [ecx + 0x14]
mov di, ax
mov si, word [ebp - 6]
mov ebx, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
nop word [eax + eax]
mov eax, edx
shr eax, 2
movzx ecx, byte [eax + ecx]
mov eax, edx
and eax, 3
inc edx
add eax, eax
movzx eax, al
shrx eax, ecx, eax
mov ecx, dword [ebp + 8]
and eax, 3
mov eax, dword [eax*4 + sym.tesseract41.dll_class_ICOORD__C_OUTLINE::step_coords]
add di, ax
shr eax, 0x10
add si, ax
mov word [ebp - 8], di
mov word [ebp - 6], si
cmp edx, ebx
jl 0x100507e0
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xc]
mov word [ebp - 2], si
mov esi, dword [ebp - 0x10]
mov word [ebp + 0xa], di
jmp 0x1005083e
mov ax, word [ebp - 6]
mov word [ebp - 2], ax
mov ax, word [ebp - 8]
mov word [ebp + 0xa], ax
movzx eax, word [ebx]
movsx ebx, word [ebx + 2]
movsx edi, ax
lea eax, [ebp - 8]
push esi
push eax
lea eax, [ebp - 0x44]
push eax
call sym.tesseract41.dll_public:_class_FCOORD___thiscall_C_OUTLINE::sub_pixel_pos_at_index_class_ICOORD_const___int_
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x14]
call sym.tesseract41.dll_public:_void___thiscall_DENORM::NormTransform_class_DENORM_const___class_FCOORD_const___class_FCOORD__const
vmovss xmm0, dword [ebp - 0x34]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, edi
vsubss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x34], xmm0
vmovss xmm0, dword [ebp - 0x30]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, ebx
vsubss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x30], xmm0
cmp esi, dword [ebp - 0x18]
jge 0x10050b34
vmovss xmm3, dword [0x101af3cc]
mov eax, esi
cdq
idiv dword [ebp - 0x24]
mov eax, edx
and eax, reloc.WS2_32.dll_closesocket
jns 0x100508ba
dec eax
or eax, 0xfffffffc
inc eax
add al, al
movzx esi, al
mov ecx, edx
test ecx, ecx
jns 0x100508c8
add ecx, 3
sar ecx, 2
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x14]
movzx eax, byte [ecx + eax]
shrx esi, eax, esi
mov eax, dword [ebp - 0xc]
and esi, 3
mov ecx, dword [eax + 0x18]
mov esi, dword [esi*4 + sym.tesseract41.dll_class_ICOORD__C_OUTLINE::step_coords]
mov dword [ebp - 8], esi
test ecx, ecx
je 0x100508ff
lea eax, [ecx + edx*2]
cmp byte [edx + eax + 1], 0
jbe 0x10050a46
vxorps xmm0, xmm0, xmm0
movzx eax, si
mov dword [ebp + 0x14], eax
cwde
vcvtsi2ss xmm0, xmm0, eax
mov ax, word [ebp + 0xa]
vmulss xmm1, xmm0, xmm3
cwde
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm2, xmm1, xmm0
mov eax, esi
shr eax, 0x10
cwde
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov ax, word [ebp - 2]
cwde
vmulss xmm1, xmm0, xmm3
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm3, xmm1, xmm0
vmovss dword [ebp - 0x3c], xmm2
vmovss dword [ebp - 0x38], xmm3
test ecx, ecx
je 0x10050995
lea eax, [ecx + edx*2]
mov cl, byte [edx + eax + 1]
test cl, cl
je 0x10050995
cmp word [ebp + 0x14], 0
movsx eax, byte [edx + eax]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vxorps xmm0, xmm0, xmm0
movzx eax, cl
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm0, xmm1, xmm0
je 0x1005098c
vaddss xmm0, xmm0, xmm3
vmovss dword [ebp - 0x38], xmm0
jmp 0x10050995
vaddss xmm0, xmm0, xmm2
vmovss dword [ebp - 0x3c], xmm0
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x14]
call sym.tesseract41.dll_public:_void___thiscall_DENORM::NormTransform_class_DENORM_const___class_FCOORD_const___class_FCOORD__const
vmovss xmm0, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x18]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, edi
vsubss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [ebp - 0x28]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, ebx
vsubss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x28], xmm0
test eax, eax
je 0x100509ec
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10051f50
add esp, 0xc
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x10050a04
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100523d0
add esp, 0xc
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x10050a2a
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10050a2a
push eax
push ecx
push dword [ebp - 0x1c]
lea eax, [ebp - 0x34]
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100521b0
add esp, 0x18
vmovss xmm0, dword [ebp - 0x2c]
vmovss xmm3, dword [0x101af3cc]
vmovss dword [ebp - 0x34], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [ebp - 0x30], xmm0
add word [ebp + 0xa], si
mov esi, dword [ebp - 0x10]
mov ax, word [ebp - 2]
inc esi
add ax, word [ebp - 6]
mov word [ebp - 2], ax
mov dword [ebp - 0x10], esi
cmp esi, dword [ebp - 0x18]
jl 0x100508a6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp + 8], eax
mov ecx, dword [edi + 0xc]
lea eax, [edi + 0xc]
movsx esi, word [ebx]
movsx edx, word [ebx + 2]
mov dword [ebp + 0x14], eax
movsx eax, word [ecx]
sub eax, esi
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
movsx eax, word [ecx + 2]
vmovss dword [ebp - 0x34], xmm0
sub eax, edx
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
movsx eax, word [edi]
vmovss dword [ebp - 0x30], xmm0
sub eax, esi
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
movsx eax, word [edi + 2]
vmovss dword [ebp - 0x3c], xmm0
sub eax, edx
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov eax, dword [ebp + 0x18]
vmovss dword [ebp - 0x38], xmm0
test eax, eax
je 0x10050ae8
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10051f50
add esp, 0xc
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x10050b00
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.100523d0
add esp, 0xc
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x10050b26
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x10050b26
push eax
push ecx
push dword [ebp - 0x1c]
lea eax, [ebp - 0x3c]
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.100521b0
add esp, 0x18
mov edi, dword [ebp + 0x14]
mov edi, dword [edi]
cmp edi, dword [ebp + 8]
jne 0x10050a76
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret