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

Disassembly:
cmp ecx, dword [edx + 8]
jae 0x43e800
xor eax, eax
ret
push ebp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x5c
cmp ecx, dword [edx + 0xc]
jae 0x43e910
mov ebp, dword [edx + 0x10]
test ebp, ebp
je 0x43e910
mov edi, dword [edx + 0x20]
mov esi, eax
test edi, edi
je 0x43e960
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x43e870
mov edi, dword [ebx + 0x1c]
xor edx, edx
test edi, edi
je 0x43e926
mov edx, dword [ebx + 0x20]
xor esi, esi
lea esi, cs:[esi]
add esi, 1
cmp ecx, dword [edx]
jb 0x43e858
cmp ecx, dword [edx + 8]
jb 0x43e940
add edx, 8
cmp esi, edi
jb 0x43e848
xor edx, edx
test eax, eax
jne 0x43e926
jmp 0x43e912
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x43ea40
mov ebp, dword [esi + 0xc]
mov edi, 0x20100048
cmp edx, ebp
jae 0x43ea40
mov eax, ecx
mov ecx, edx
mov edx, ebp
mov ebp, eax
jmp 0x43e8f6
movzx eax, word [esp + 0x4c]
cmp ax, 0x1d
ja 0x43e8dc
bt edi, eax
jae 0x43e8dc
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00404d80
mov edx, dword [ebx + 0x24]
movq xmm0, qword [esp + 0x38]
mov dword [eax], edx
mov edx, dword [esp + 0x44]
mov dword [ebx + 0x24], eax
mov dword [eax + 4], edx
movq qword [eax + 8], xmm0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x43ea28
mov edx, dword [esi + 0xc]
add ecx, dword [esi + 8]
cmp ecx, edx
jae 0x43ea28
mov eax, dword [esi]
mov dword [esp], edx
lea edx, [esp + 0x30]
call fcn.0043e5f0
test eax, eax
jne 0x43e898
lea esi, cs:[esi]
xor edx, edx
add esp, 0x5c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax]
test eax, eax
je 0x43e912
cmp ecx, dword [eax + 8]
jb 0x43e920
cmp ecx, dword [eax + 0xc]
jae 0x43e920
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [eax], edx
mov edx, 1
jmp 0x43e912
mov esi, dword [ebx + 4]
mov ebx, dword [esp + 0x70]
mov dword [ebx], esi
mov ebx, dword [edx + 4]
mov edx, dword [esp + 0x78]
mov dword [edx], ebx
mov edx, 1
jmp 0x43e861
mov edi, dword [eax + 0x10]
test edi, edi
je 0x43ea52
mov ebp, dword [eax + 0x14]
add edi, dword [ebx + 0x14]
cmp edi, ebp
jae 0x43e82a
mov eax, dword [esi]
mov dword [esp + 0x2c], ecx
mov eax, dword [eax + 8]
mov dword [esp], edi
call dword [eax + 0x28]
lea edx, [edi + 4]
add edi, 8
mov ebp, eax
mov eax, dword [esi]
sub ebp, 8
mov eax, dword [eax + 8]
mov dword [esp], edx
call dword [eax + 0x28]
mov dword [esp + 0x28], eax
mov eax, 0x66666667
imul ebp
mov eax, ebp
sar eax, 0x1f
sar edx, 2
sub edx, eax
mov dword [ebx + 0x1c], edx
shl edx, 3
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00404cf0
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x43eaee
xor ebp, ebp
lea esi, cs:[esi]
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp], edi
call dword [eax + 0x28]
mov edx, dword [ebx + 0x20]
mov dword [edx + ebp*8 + 4], eax
mov eax, dword [esi]
lea edx, [edi + 6]
add edi, 0xa
mov eax, dword [eax + 8]
mov dword [esp], edx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x28]
mov edx, dword [ebx + 0x20]
add eax, ecx
mov dword [edx + ebp*8], eax
add ebp, 1
cmp ebp, dword [ebx + 0x1c]
jb 0x43e9e8
mov ecx, dword [esp + 0x2c]
jmp 0x43e82a
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x24]
mov ecx, ebp
test edi, edi
jne 0x43e83e
jmp 0x43e85f
mov edi, dword [ebx + 0x1c]
test edi, edi
je 0x43e910
xor eax, eax
jmp 0x43e83e
mov dword [esp + 4], str..line
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov dword [esp], eax
call fcn.00405300
mov edi, eax
test eax, eax
je 0x43e910
test byte [eax + 0x14], 2
mov ecx, dword [esp + 0x28]
jne 0x43eb15
mov edx, dword [eax + 0x34]
mov ebp, dword [eax + 0x30]
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov eax, dword [esi]
mov dword [esp + 0x28], edx
mov dword [esp], eax
call fcn.00404cf0
mov dword [esi + 0x10], eax
test eax, eax
je 0x43e910
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00405900
mov ecx, dword [esp + 0x2c]
test eax, eax
je 0x43eb0b
mov edi, dword [esi + 0x10]
add ebp, edi
mov dword [esi + 0x14], ebp
jmp 0x43e96e
mov eax, dword [ebx + 0x24]
xor edx, edx
test eax, eax
jne 0x43e926
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x43e87b
jmp 0x43e910
xor edx, edx
mov dword [esi + 0x10], edx
jmp 0x43e910
mov dword [esp + 8], str.parse_line_table
mov dword [esp + 4], 0x120
mov dword [esp], str..._.._bfd_dwarf1.c
call fcn.00402ec0
lea esi, cs:[esi]
lea esi, [esi]
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xa4]
mov dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x9c]
mov ebx, dword [eax + 0x380]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edi, dword [eax + 0x18]
mov eax, dword [esp + 0x28]
mov dword [ecx], 0
mov dword [edx], 0
mov dword [eax], 0
test ebx, ebx
je 0x43ed68
mov eax, dword [ebx + 8]
test eax, eax
je 0x43ec21
mov edx, dword [ebx + 4]
add edi, ebp
test edx, edx
je 0x43ebd4
lea esi, [esi]
cmp edi, dword [edx + 8]
jb 0x43ebce
cmp edi, dword [edx + 0xc]
jb 0x43ed30
mov edx, dword [edx]
test edx, edx
jne 0x43ebc0
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0xc]
cmp ecx, eax
jb 0x43ebec
jmp 0x43ec21
add esi, dword [ebx + 8]
mov ecx, esi
mov dword [ebx + 0x18], ecx
cmp ecx, eax
jae 0x43ec21
mov esi, dword [ebx]
mov dword [esp], eax
lea edx, [esp + 0x50]
mov eax, esi
call fcn.0043e5f0
test eax, eax
je 0x43ec21
cmp word [esp + 0x6c], 0x11
mov esi, dword [esp + 0x54]
je 0x43ec30
mov eax, dword [ebx + 0xc]
test esi, esi
jne 0x43ebe0
mov ecx, dword [esp + 0x50]
add ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
cmp ecx, eax
jb 0x43ebec
add esp, 0x7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x28
mov dword [esp + 8], 0
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00404d80
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x5c]
mov ebp, eax
mov eax, dword [ebx + 4]
mov dword [ebp], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 4], ebp
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [ebp + 0x10], ecx
mov ecx, dword [esp + 0x60]
cmp edi, eax
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x14], ecx
setae cl
mov dword [ebp + 8], eax
mov dword [esp + 0x44], edx
cmp edi, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
setb dl
mov dword [esp + 0x48], eax
and edx, ecx
mov dword [esp + 0x40], eax
test esi, esi
jne 0x43ecb8
mov dword [ebp + 0x18], 0
test dl, dl
jne 0x43ecea
mov ecx, dword [esp + 0x50]
mov eax, dword [ebx + 0xc]
add ecx, dword [ebx + 0x18]
jmp 0x43ec1a
mov eax, dword [esp + 0x50]
add eax, dword [ebx + 0x18]
mov ecx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
cmp ecx, eax
jae 0x43ed18
mov ecx, dword [ebx + 8]
add ecx, esi
cmp dword [esp + 0x34], ecx
je 0x43ed18
mov esi, dword [esp + 0x34]
mov dword [ebp + 0x18], esi
test dl, dl
je 0x43ebe5
mov eax, dword [esp + 0x28]
mov ecx, edi
mov edx, ebp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
jmp 0x43ed53
mov dword [ebp + 0x18], 0
test dl, dl
jne 0x43ecea
mov eax, dword [esp + 0x38]
jmp 0x43ebe0
mov eax, dword [esp + 0x28]
mov ecx, edi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
add esp, 0x7c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp 0x43e7f0
mov ecx, dword [esi + 0xa4]
mov dword [esp + 4], 0x1c
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 0x34], ecx
call fcn.00404d80
mov ecx, dword [esp + 0x34]
mov ebx, eax
mov dword [ecx + 0x380], eax
test eax, eax
je 0x43ec21
mov dword [esp + 4], 0x48a2a9
mov dword [esp], esi
call fcn.00405300
mov ecx, eax
test eax, eax
je 0x43ec21
test byte [eax + 0x14], 2
jne 0x43ee49
mov eax, dword [eax + 0x30]
mov edx, dword [ecx + 0x34]
mov dword [esp], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
call fcn.00404cf0
mov dword [ebx + 8], eax
test eax, eax
je 0x43ec21
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00405900
test eax, eax
je 0x43ee3d
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x34]
mov dword [ebx], esi
add ecx, eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0xc], ecx
jmp 0x43ebad
mov dword [ebx + 8], 0
jmp 0x43ec21
mov dword [esp + 8], str._bfd_dwarf1_find_nearest_line
mov dword [esp + 4], 0x1f9
mov dword [esp], str..._.._bfd_dwarf1.c
call fcn.00402ec0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
push ebx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov edx, ecx
cmp ebx, esi
sbb edx, eax
mov edx, 0xffffffff
jb 0x43ee9a
xor edx, edx
cmp esi, ebx
sbb eax, ecx
setb dl
mov eax, edx
pop ebx
pop esi
ret