Function at 0x43f6e1
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x10]
add edi, eax
mov esi, dword [ebp - 0xc]
sub esi, eax
mov eax, dword [ebp - 0x1c]
cmp esi, 0
je 0x43fabb
lea ecx, [edi + 2]
mov edx, dword [eax + 0x33]
lea eax, [edi + esi]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x34], eax
cmp ecx, eax
je 0x43f722
mov edi, dword [edx + 3]
cmp ecx, edi
jae 0x43fb23
lea eax, [ecx - 2]
mov dword [ebp - 0xc], esi
mov esi, dword [edx + ecx*2 + 7]
mov dword [ebp - 0x24], esi
cmp eax, edi
jae 0x43fb24
mov edi, dword [edx + eax*2 + 7]
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0x13]
mov dword [ebp - 0x20], edi
mov edi, dword [eax + 0xf]
mov eax, edi
mov edi, dword [ebp - 0x20]
mov ecx, esi
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov edi, dword [ebx + edi*2 + 0x2454]
call edi
test al, 1
jne 0x43f59f
cmp eax, 0
jl 0x43f5b2
jmp 0x43f5ae
movsd xmm1, qword [eax + 3]
pxor xmm2, xmm2
ucomisd xmm2, xmm1
ja 0x43f5b2
xor edi, edi
jmp 0x43f5b7
mov edi, 1
mov eax, dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 0x20], edi
mov ecx, eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 4
jmp 0x43f5e0
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 2]
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x34]
jge 0x43f65f
mov eax, dword [esi + 3]
cmp ecx, eax
jae 0x43fb25
mov eax, dword [esi + ecx*2 + 7]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x13]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0xf]
mov dword [ebp - 0x24], ecx
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 8]
mov edi, dword [ebx + edi*2 + 0x2454]
call edi
cmp dword [ebp - 0x20], 0
jne 0x43f641
test al, 1
jne 0x43f630
cmp eax, 0
jl 0x43f65f
jmp 0x43f5ce
movsd xmm1, qword [eax + 3]
pxor xmm2, xmm2
ucomisd xmm2, xmm1
ja 0x43f65f
jmp 0x43f5ce
test al, 1
jne 0x43f64c
cmp eax, 0
jge 0x43f65f
jmp 0x43f5ce
movsd xmm1, qword [eax + 3]
pxor xmm2, xmm2
ucomisd xmm1, xmm2
jb 0x43f5ce
cmp dword [ebp - 0x20], 0
je 0x43f71a
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x10]
lea ecx, [eax + edi - 2]
mov edx, edi
mov esi, dword [ebp - 0x18]
jmp 0x43f6ad
mov edx, dword [ebp - 0x30]
add edx, 2
sub ecx, 2
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], ecx
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [esi + edi], eax
test al, 1
je 0x43f6a7
mov ecx, 0xfffc0000
and ecx, esi
test byte [ecx + 4], 4
jne 0x4401b1
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cmp edx, ecx
jge 0x43f71a
mov edi, dword [esi + 3]
cmp edx, edi
jae 0x43fb26
lea eax, [edx*2 + 7]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + edx*2 + 7]
mov dword [ebp - 0x24], eax
cmp ecx, edi
jae 0x43fb27
lea edi, [ecx*2 + 7]
mov dword [ebp - 0x20], edi
mov edi, dword [esi + ecx*2 + 7]
dec esi
pop es
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x34]
mov dword [esi + eax], edi
test di, 1
je 0x43f707
mov edx, 0xfffc0000
and edx, esi
test byte [edx + 4], 4
jne 0x440185
mov edi, dword [esi + 3]
mov ecx, dword [ebp - 0x28]
cmp ecx, edi
jb 0x43f67a
jmp 0x43fb28
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0xc]
jmp 0x43f72a
mov dword [ebp - 0xc], esi
mov eax, 2
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
lea edi, [ecx + edx]
cmp eax, edi
jge 0x43f8ac
cmp edi, esi
jl 0x43f741
mov edi, esi
mov ecx, dword [ebp - 0x10]
add eax, ecx
mov dword [ebp - 0x18], edi
cmp ecx, eax
jne 0x43f750
add eax, 2
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx + 0x33]
mov dword [ebp - 0x40], eax
lea eax, [ecx + edi]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
mov edi, edx
jmp 0x43f796
lea edi, [eax*2 + 7]
mov eax, dword [ebp - 0x24]
mov dword [edx + edi], eax
test al, 1
je 0x43f78b
mov ecx, 0xfffc0000
and ecx, edx
test byte [ecx + 4], 4
jne 0x440159
mov eax, dword [ebp - 0x40]
add eax, 2
mov esi, edx
mov edi, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x3c]
jge 0x43f8a9
mov ecx, dword [esi + 3]
cmp eax, ecx
jae 0x43fb35
mov ecx, dword [esi + eax*2 + 7]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], eax
mov eax, edi
mov edi, dword [ebp - 0x10]
jmp 0x43f7c7
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp - 0x30]
jge 0x43f844
mov ecx, dword [ebp - 0x30]
sub ecx, edi
sar ecx, 1
and ecx, 0xfffffffe
add ecx, edi
mov edi, dword [esi + 3]
mov dword [ebp - 0x2c], ecx
cmp ecx, edi
jae 0x43fb39
mov edi, dword [esi + ecx*2 + 7]
mov dword [ebp - 0x38], edi
mov edi, dword [eax + 0x13]
mov dword [ebp - 0x34], edi
mov edi, dword [eax + 0xf]
mov eax, edi
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0x34]
mov edi, dword [ebx + edi*2 + 0x2454]
call edi
test al, 1
jne 0x43f81f
cmp eax, 0
jl 0x43f839
jmp 0x43f82e
movsd xmm1, qword [eax + 3]
pxor xmm2, xmm2
ucomisd xmm2, xmm1
ja 0x43f839
mov ecx, dword [ebp - 0x2c]
lea edi, [ecx + 2]
mov ecx, dword [ebp - 0x30]
jmp 0x43f7be
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
jmp 0x43f7be
mov ecx, edi
mov edi, dword [ebp - 0x40]
mov edx, esi
jmp 0x43f879
mov esi, dword [edx + eax*2 + 7]
lea edi, [edi*2 + 7]
mov dword [edx + edi], esi
test si, 1
je 0x43f873
mov ecx, 0xfffc0000
and ecx, edx
test byte [ecx + 4], 4
jne 0x44012d
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp ecx, edi
jge 0x43f897
mov esi, dword [edx + 3]
cmp edi, esi
jae 0x43fb37
lea eax, [edi - 2]
mov dword [ebp - 0x2c], eax
cmp eax, esi
jb 0x43f84d
jmp 0x43fb38
mov edi, dword [edx + 3]
mov eax, ecx
cmp eax, edi
jb 0x43f769
jmp 0x43fb36
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2b]
lea edx, [ecx*2]
mov esi, dword [edi + 0x2f]
mov edi, dword [esi + 3]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], edx
cmp edx, edi
jae 0x43fb29
lea edi, [edx*2 + 7]
mov eax, dword [ebp - 0x10]
mov dword [esi + edi], eax
test al, 1
je 0x43f8f2
mov ecx, 0xfffc0000
and ecx, esi
test byte [ecx + 4], 4
jne 0x440101
mov edi, dword [esi + 3]
mov ecx, dword [ebp - 0x20]
add ecx, 2
cmp ecx, edi
jae 0x43fb2a
lea edi, [ecx*2 + 7]
mov ecx, dword [ebp - 0x18]
add ecx, 2
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x2c]
mov dword [esi + edi], edx
test dl, 1
je 0x43f92f
mov eax, 0xfffc0000
and eax, esi
test byte [eax + 4], 4
jne 0x4400d5
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov dword [eax + 0x2b], edi
mov edi, dword [eax + 0x2f]
mov dword [ebp - 0x20], edi
jmp 0x43f946
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax + 0x2b]
cmp esi, 2
jle 0x43f515
sub esi, 4
lea eax, [esi + 2]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], eax
cmp eax, 4
jl 0x43f9ba
lea ecx, [eax*2 + 2]
mov edx, dword [edi + 3]
cmp ecx, edx
jae 0x43fb2b
lea esi, [eax - 2]
lea esi, [esi*2 + 2]
mov ecx, dword [edi + ecx*2 + 7]
mov dword [ebp - 0x28], ecx
cmp esi, edx
jae 0x43fb2c
lea ecx, [eax - 4]
lea ecx, [ecx*2 + 2]
mov esi, dword [edi + esi*2 + 7]
cmp ecx, edx
jae 0x43fb2d
mov ecx, dword [edi + ecx*2 + 7]
mov edx, dword [ebp - 0x28]
add edx, esi
cmp edx, ecx
setl cl
movzx ecx, cl
mov esi, dword [ebp - 0x18]
jmp 0x43f9bf
mov ecx, 1
cmp ecx, 0
jne 0x43f9c8
mov ecx, esi
jmp 0x43fa2f
cmp esi, 4
jl 0x43fa23
mov ecx, esi
lea edx, [ecx*2 + 2]
mov esi, dword [edi + 3]
cmp edx, esi
jae 0x43fb2e
lea eax, [ecx - 2]
invalid
add al, 0x45
add al, byte [eax]
invalid