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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xdc
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [edx + 4]
test edi, edi
mov edx, 0xffffffff
mov dword [ebp - 0x34], eax
js 0x412b19
mov esi, dword [ebp + 0x10]
mov eax, str.read_seek:__d__I64d_n
mov edi, 2
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp + 0xc], edx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.0045dc30
mov dword [ebp - 0x48], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x44], closesocket
mov dword [ebp - 0x50], 0
mov esi, dword [ebx + esi*4 + 0x64]
mov dword [ebp - 0x4c], closesocket
mov dword [ebp - 0x40], 0xffffffff
mov ecx, dword [esi + 0x90]
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x68], esi
test ecx, ecx
mov dword [ebp - 0x70], ecx
je 0x412730
mov edi, dword [esi + 0x94]
mov esi, 0xffffffff
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x74], edi
mov eax, edi
inc eax
or ebx, 1
dec eax
mov dword [ebp - 0x84], ebx
mov ebx, edi
jle 0x4124f9
mov esi, esi
mov edi, dword [ebp - 0x70]
lea ecx, [esi + ebx]
sar ecx, 1
lea eax, [ecx + ecx*2]
mov edx, dword [edi + eax*8 + 0xc]
mov eax, dword [edi + eax*8 + 8]
cmp edx, dword [ebp + 0x14]
jl 0x4124f0
jg 0x412b26
cmp eax, dword [ebp + 0x10]
jae 0x412b26
mov esi, esi
lea edi, [edi]
cmp edx, dword [ebp + 0x14]
jg 0x4124f2
jl 0x4124f0
cmp eax, dword [ebp + 0x10]
ja 0x4124f2
lea esi, [esi]
mov esi, ecx
mov eax, ebx
sub eax, esi
dec eax
jg 0x4124b0
test byte [ebp - 0x84], 1
mov ecx, esi
jne 0x412506
mov ecx, ebx
test byte [ebp - 0x84], 4
jne 0x41255e
mov esi, ecx
not esi
shr esi, 0x1f
cmp ecx, dword [ebp - 0x74]
setl dl
test edx, esi
je 0x41255e
mov ebx, dword [ebp - 0x70]
lea eax, [ecx + ecx*2]
shl eax, 3
test byte [eax + ebx + 0x10], 1
jne 0x41255e
test byte [ebp - 0x84], 1
mov edi, dword [ebp - 0x70]
lea ebx, [eax + edi + 0x10]
jne 0x412ded
inc ecx
add ebx, 0x18
mov eax, ecx
not eax
shr eax, 0x1f
cmp ecx, dword [ebp - 0x74]
setl dl
test edx, eax
je 0x41255e
test byte [ebx], 1
je 0x412544
cmp ecx, dword [ebp - 0x74]
mov eax, 0xffffffff
je 0x41256a
mov eax, ecx
mov edi, eax
mov esi, dword [ebp - 0x70]
not edi
sar edi, 0x1f
and edi, eax
lea ebx, [edi + edi*2]
lea edi, [esi + ebx*8]
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
cmp ecx, dword [ebp + 0x14]
jl 0x412596
jg 0x412e10
cmp eax, dword [ebp + 0x10]
ja 0x412e10
mov ebx, dword [edi]
mov esi, dword [edi + 4]
mov dword [ebp - 0x18], ebx
mov eax, dword [edi + 8]
mov edx, 2
mov dword [ebp - 0x14], esi
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dword [esp + 0x10], esi
mov esi, str.using_cached_pos_min0x_I64x_dts_min_I64d_n
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call fcn.0045dc30
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x68]
mov edi, dword [eax + 0x90]
mov esi, dword [ebx + 0x94]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], esi
mov ebx, dword [ebp + 0x18]
mov esi, 0xffffffff
and ebx, 0xfffffffe
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x74]
mov eax, ebx
inc eax
dec eax
jle 0x412659
lea esi, [esi]
mov edi, dword [ebp - 0x70]
lea ecx, [esi + ebx]
sar ecx, 1
lea eax, [ecx + ecx*2]
mov edx, dword [edi + eax*8 + 0xc]
mov eax, dword [edi + eax*8 + 8]
cmp edx, dword [ebp + 0x14]
jl 0x412650
jg 0x412c16
cmp eax, dword [ebp + 0x10]
jae 0x412c16
mov esi, esi
lea edi, [edi]
cmp edx, dword [ebp + 0x14]
jg 0x412652
jl 0x412650
cmp eax, dword [ebp + 0x10]
ja 0x412652
lea esi, [esi]
mov esi, ecx
mov eax, ebx
sub eax, esi
dec eax
jg 0x412610
test byte [ebp - 0x84], 4
mov ecx, ebx
jne 0x4126a6
mov esi, ebx
not esi
shr esi, 0x1f
cmp ebx, dword [ebp - 0x74]
setl dl
test edx, esi
je 0x4126a6
lea eax, [ebx + ebx*2]
mov ebx, dword [ebp - 0x70]
shl eax, 3
test byte [eax + ebx + 0x10], 1
jne 0x4126a6
mov edx, dword [ebp - 0x70]
lea ebx, [eax + edx + 0x10]
inc ecx
add ebx, 0x18
mov eax, ecx
not eax
shr eax, 0x1f
cmp ecx, dword [ebp - 0x74]
setl dl
test edx, eax
je 0x4126a6
test byte [ebx], 1
je 0x41268c
cmp ecx, dword [ebp - 0x74]
mov eax, 0xffffffff
je 0x4126b2
mov eax, ecx
test eax, eax
js 0x412730
mov ecx, dword [ebp - 0x70]
lea ebx, [eax + eax*2]
lea edx, [ecx + ebx*8]
mov ecx, dword [edx]
mov esi, dword [edx + 8]
mov ebx, dword [edx + 4]
mov dword [ebp - 0x20], ecx
mov edi, dword [edx + 0xc]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x50], esi
mov esi, ecx
cdq
mov dword [ebp - 0x4c], edi
sub esi, eax
mov edi, ebx
sbb edi, edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x1c], ebx
mov dword [esp + 0x14], esi
mov esi, str.using_cached_pos_max0x_I64x_pos_limit0x_I64x_dts_max_I64d_n
mov dword [esp + 0x18], edi
mov edi, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call fcn.0045dc30
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp - 0x44]
xor eax, 0x80000000
or eax, dword [ebp - 0x48]
je 0x412c1d
mov ecx, dword [ebp - 0x4c]
xor ecx, 0x80000000
or ecx, dword [ebp - 0x50]
je 0x412c8a
mov edi, dword [ebp - 0x4c]
cmp dword [ebp - 0x44], edi
jl 0x412770
jg 0x412ddb
mov esi, dword [ebp - 0x50]
cmp dword [ebp - 0x48], esi
ja 0x412ddb
lea esi, [esi]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
xor eax, edx
xor ebx, ecx
or eax, ebx
jne 0x412c0b
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x64], 0
nop
lea esi, [esi]
cmp ebx, dword [ebp - 0x3c]
jg 0x4129b1
jge 0x412b50
mov edi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edx
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov edi, dword [ebp - 0x20]
mov eax, str.pos_min0x_I64x_pos_max0x_I64x_dts_min_I64d_dts_max_I64d_n
mov edx, dword [ebp - 0x1c]
mov dword [esp + 0x10], ebx
mov ebx, 2
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call fcn.0045dc30
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x412b90
cmp dword [ebp - 0x64], 1
je 0x412bf0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ecx, eax
mov ebx, edx
cmp edx, ebx
mov esi, eax
mov edi, edx
jg 0x412b30
jl 0x412833
cmp eax, ecx
ja 0x412b30
mov eax, ecx
mov edx, ebx
add eax, 1
adc edx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x30]
mov eax, closesocket
mov dword [ebp - 0x5c], edx
mov edx, 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov esi, dword [ebp + 8]
mov dword [esp], esi
mov edi, dword [ebp - 0x34]
call dword [edi + 0x20]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x1c]
mov eax, esi
mov dword [ebp - 0x54], edx
mov edx, edi
xor edx, ebx
xor eax, ecx
or edx, eax
jne 0x412b60
inc dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
mov dword [esp + 0x54], edx
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [esp + 0x1c], ecx
mov ecx, str._I64d__I64d__I64d____I64d__I64d__I64d_target:_I64d_limit:_I64d_start:_I64d_noc:_d_n
mov dword [esp + 0x20], ebx
mov ebx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call fcn.0045dc30
mov edi, dword [ebp - 0x54]
cmp dword [ebp + 0x14], edi
jg 0x412990
jl 0x412942
mov edi, dword [ebp - 0x58]
cmp dword [ebp + 0x10], edi
ja 0x41296c
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add edi, 0xffffffff
mov ebx, dword [ebp - 0x58]
adc edx, 0xffffffff
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x54]
cmp dword [ebp + 0x14], esi
jl 0x412b80
jg 0x412990
mov ebx, dword [ebp - 0x58]
cmp dword [ebp + 0x10], ebx
jb 0x412b80
lea esi, [esi]
lea edi, [edi]
mov ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x58]
cmp ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
jle 0x4127a9
test byte [ebp + 0x18], 1
mov eax, ecx
mov edx, ebx
jne 0x4129c1
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
test byte [ebp + 0x18], 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2c], edx
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], edi
jne 0x4129e5
mov ebx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x18], eax
mov edi, closesocket
mov eax, 0xffffffff
mov dword [ebp - 0x14], edx
mov dword [esp + 0x10], edi
lea edi, [ebp - 0x18]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
mov esi, dword [ebp - 0x34]
call dword [esi + 0x20]
add dword [ebp - 0x18], 1
mov ecx, 0xffffffff
mov ebx, eax
adc dword [ebp - 0x14], 0
mov eax, closesocket
mov esi, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov edi, dword [ebp - 0x34]
call dword [edi + 0x20]
mov edi, str.pos0x_I64x__I64d__I64d__I64d_n
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov dword [esp + 0x20], edx
mov edx, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0045dc30
mov dword [esp + 0xc], ebx
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp + 8], ecx
mov edi, dword [ebp + 8]
add edi, 0x10
mov dword [esp], edi
call fcn.004189a0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x60]
test eax, eax
jle 0x412b17
lea esi, [esi]
lea edi, [edi]
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x68]
mov ebx, dword [edi + esi*4 + 0x64]
mov eax, dword [edx + 0x44]
inc esi
imul dword [ebx + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x40]
imul dword [ebx + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x7c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00671320
cmp dword [edi + 0x60], esi
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], edx
jg 0x412ad0
xor edx, edx
add esp, 0xdc
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, ecx
jmp 0x4124e0
cmp edx, dword [ebp - 0x3c]
jl 0x412b70
jg 0x412b40
cmp eax, dword [ebp - 0x40]
jbe 0x412b70
lea esi, [esi]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
jmp 0x41283d
cmp ecx, dword [ebp - 0x40]
jb 0x4127af
jmp 0x4129b1
mov dword [ebp - 0x64], 0
jmp 0x41289a
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
jmp 0x412843
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
jmp 0x4127a0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
mov esi, eax
mov ebx, dword [ebp - 0x4c]
mov edi, edx
sub esi, dword [ebp - 0x40]
sbb edi, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x48]
sbb ebx, dword [ebp - 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
sub eax, dword [ebp - 0x18]
sbb edx, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
sub ebx, dword [ebp - 0x48]
sbb ecx, dword [ebp - 0x44]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00671320
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
add eax, ecx
adc edx, ebx
sub eax, esi
sbb edx, edi
jmp 0x41281d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
add eax, ecx
adc edx, ebx
shrd eax, edx, 1
sar edx, 1
jmp 0x41281d
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
jmp 0x412794
mov ebx, ecx
jmp 0x412640
mov ecx, dword [ebp + 8]
mov edi, 0xffffffff
mov eax, closesocket
lea ebx, [ebp - 0x18]
mov edx, dword [ecx + 0xf50]
mov esi, dword [ecx + 0xf54]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 8], ebx
mov edx, dword [ebp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov esi, dword [ebp - 0x34]
call dword [esi + 0x20]
mov dword [ebp - 0x44], edx
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov edx, 0xffffffff
xor edi, 0x80000000
or edi, dword [ebp - 0x48]
je 0x412b19
mov ecx, dword [ebp - 0x4c]
xor ecx, 0x80000000
or ecx, dword [ebp - 0x50]
jne 0x412753
mov dword [ebp - 0x6c], 0x400
mov ebx, dword [ebp + 8]
add ebx, 0x10
mov dword [esp], ebx
call fcn.00418c50
mov ecx, eax
mov ebx, edx
add ecx, 0xffffffff
adc ebx, 0xffffffff
mov esi, eax
mov edi, edx
lea esi, [esi]
mov eax, dword [ebp - 0x6c]
cdq
sub ecx, eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x20]
sbb ebx, edx
add dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x90]
adc dword [ebp - 0x8c], ebx
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp - 0x8c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov ecx, dword [ebp - 0x34]
call dword [ecx + 0x20]
shl dword [ebp - 0x6c], 1
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
xor eax, 0x80000000
or eax, dword [ebp - 0x50]
jne 0x412d42
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x90], eax
cdq
cmp edx, ebx
mov dword [ebp - 0x8c], edx
jg 0x412d42
jl 0x412cb0
cmp eax, ecx
jbe 0x412cb0
mov ebx, dword [ebp - 0x4c]
mov edx, 0xffffffff
xor ebx, 0x80000000
or ebx, dword [ebp - 0x50]
je 0x412b19
mov eax, dword [ebp - 0x20]
lea ebx, [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
lea esi, [esi]
lea edi, [edi]
add eax, 1
mov ecx, closesocket
adc edx, 0
mov dword [ebp - 0x24], edx
mov edx, 0xffffffff
mov dword [ebp - 0x28], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov ecx, dword [ebp - 0x34]
call dword [ecx + 0x20]
mov ecx, edx
mov edx, eax
mov eax, ecx
xor eax, 0x80000000
or eax, edx
je 0x412e2c
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], ecx
cmp edx, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
jl 0x412d70
jg 0x412dd0
cmp eax, esi
jb 0x412d70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x412753
add esp, 0xdc
mov edx, 0xffffffff
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
dec ecx
sub ebx, 0x18
mov esi, ecx
not esi
shr esi, 0x1f
cmp ecx, dword [ebp - 0x74]
setl dl
test edx, esi
je 0x41255e
test byte [ebx], 1
je 0x412ded
jmp 0x41255e
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 4]
mov ebx, dword [edi]
cdq
mov ecx, esi
xor ecx, edx
xor eax, ebx
or ecx, eax
jne 0x4125f2
jmp 0x41259b
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x412753