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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xfc
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00427f40
mov eax, dword [esp + 0x110]
movzx eax, byte [eax + 0x58]
test al, al
mov byte [esp + 0x34], al
jne 0x4262c0
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x114]
mov dword [esp], 0
call fcn.00427a60
sub esp, 4
cmp eax, 1
jbe 0x4262ae
mov ecx, dword [esp + 0x114]
mov dword [esp], 0
call fcn.00427a60
sub esp, 4
mov ebx, dword [esp + 0x110]
cmp dword [ebx + 0x94], eax
je 0x4262ae
mov ecx, dword [esp + 0x114]
mov dword [esp], 0
call fcn.00427a60
sub esp, 4
mov ebx, dword [esp + 0x110]
mov dword [ebx + 0x94], eax
mov eax, dword [ebx]
mov ebx, dword [eax + 8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x40], ebx
call fcn.00427dc0
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0xac]
mov dword [esp + 0xa0], eax
mov eax, dword [eax]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], 0
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0042d400
sub esp, 8
mov eax, dword [esp + 0x110]
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
movzx eax, byte [eax + 0x27]
mov dword [esp], eax
call fcn.00425dc0
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 8], 6
mov dword [esp + 4], str.range1
mov eax, dword [eax]
movzx eax, byte [eax + 0x27]
mov dword [esp], eax
call fcn.00425d50
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 8], 6
mov dword [esp + 4], str.range2
mov eax, dword [eax]
movzx eax, byte [eax + 0x27]
mov dword [esp], eax
call fcn.00425d50
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
movzx eax, byte [eax + 0x27]
mov dword [esp], eax
call fcn.00425dc0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe4], 0
movzx eax, byte [eax + 0xa1]
mov dword [esp + 4], 0x5c
mov dword [esp], 0
mov byte [esp + 0xe0], al
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe4], eax
mov dword [eax + 4], 0
and edx, 0x80000000
or edx, 3
mov dword [eax], edx
mov byte [eax + 3], 0
mov dword [esp + 4], 0x28
mov dword [esp], 0
mov dword [esp + 0xe8], 0
call fcn.004791b0
mov ebx, dword [esp + 0x114]
mov edx, dword [eax]
mov dword [esp + 0xe8], eax
mov dword [eax + 4], 0
mov ebp, dword [ebx + 0x14]
and edx, 0x80000000
or edx, 4
mov dword [eax], edx
mov byte [eax + 3], 0
mov dword [esp + 0xec], 0
mov ecx, dword [ebp]
test ecx, ecx
je 0x42658f
lea ebx, [esp + 0x78]
mov eax, dword [ebp + 4]
xor edi, edi
mov dword [esp + 0x2c], ebx
lea ebx, [esp + 0x8c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 4], eax
mov eax, dword [0x5b2de8]
mov dword [esp], eax
call fcn.0042c250
mov dword [esp + 4], eax
mov ebx, eax
lea eax, [esp + 0x64]
mov esi, edx
mov dword [esp], eax
call fcn.0042a820
mov eax, dword [esp + 0x68]
mov dword [esp + 4], esi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0042a820
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + edi*8 + 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042a820
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0xac]
je 0x427243
add edi, 1
cmp dword [ebp], edi
jbe 0x426584
mov eax, dword [ebp + edi*8 + 4]
jmp 0x42650c
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x42659a
mov eax, dword [eax + 4]
test eax, eax
jne 0x42780f
mov dword [esp + 4], 0x28
mov dword [esp], 0
call fcn.004791b0
mov edx, dword [eax]
mov dword [eax + 4], 0
mov ebx, eax
and edx, 0x80000000
or edx, 4
mov dword [eax], edx
mov byte [eax + 3], 0
mov edx, dword [esp + 0xb0]
mov dword [eax + 4], 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x4266de
mov edx, dword [eax + 4]
test edx, edx
je 0x4266de
mov esi, dword [eax + 8]
mov edx, dword [eax + 0x10]
cmp esi, edx
jg 0x4275da
cmp esi, edx
mov dword [esp + 0x2c], edx
ja 0x4275be
mov dword [esp + 0x28], 0
jmp 0x42664e
cmp dword [eax + 4], ecx
jbe 0x4266de
imul edx, dword [esp + 0x28], 0x1c
add edx, eax
mov esi, dword [edx + 0x24]
mov edx, dword [edx + 0x2c]
cmp esi, edx
jg 0x4275da
cmp edx, esi
mov dword [esp + 0x2c], edx
jb 0x4275be
mov dword [esp + 0x28], ecx
mov edi, dword [ebx]
mov edx, dword [ebx + 4]
and edi, 0x7fffffff
lea ebp, [edx + 1]
cmp edi, edx
jne 0x4266c0
cmp byte [ebx + 3], 0
js 0x426890
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.004213b0
mov edx, dword [ebx + 4]
mov edi, eax
lea eax, [eax*8 + 8]
mov dword [esp], ebx
and edi, 0x7fffffff
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
call fcn.004791b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x30]
mov ebx, eax
and ecx, 0x80000000
mov dword [eax + 4], edx
lea ebp, [edx + 1]
or ecx, edi
mov dword [eax], ecx
shr ecx, 0x18
and ecx, 0x7f
mov byte [eax + 3], cl
mov eax, dword [esp + 0xe4]
lea edx, [ebx + ebp*8]
mov dword [ebx + 4], ebp
test eax, eax
mov dword [edx], esi
mov esi, dword [esp + 0x2c]
mov dword [edx + 4], esi
mov esi, dword [esp + 0x28]
lea ecx, [esi + 1]
jne 0x426620
mov eax, dword [ebx + 4]
cmp eax, 1
jbe 0x426708
mov dword [esp + 4], eax
lea eax, [ebx + 8]
mov dword [esp + 0xc], 0x425df0
mov dword [esp + 8], 8
mov dword [esp], eax
call sub.msvcrt.dll_qsort
mov eax, dword [ebx + 4]
test eax, eax
je 0x427526
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x427510
mov edi, dword [esi]
mov eax, dword [esi + 4]
and edi, 0x7fffffff
cmp edi, eax
jne 0x4273b0
cmp byte [esi + 3], 0
js 0x42741b
lea eax, [edi + 1]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004213b0
mov edx, dword [esp + 0xe8]
lea ecx, [eax*8 + 8]
test edx, edx
je 0x427799
mov edi, dword [edx + 4]
and eax, 0x7fffffff
mov ebp, eax
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe8], eax
mov esi, eax
mov dword [eax + 4], edi
and edx, 0x80000000
or ebp, edx
mov dword [eax], ebp
shr ebp, 0x18
mov edx, ebp
and edx, 0x7f
mov byte [eax + 3], dl
lea eax, [edi + 1]
mov edx, dword [ebx + 0xc]
mov dword [esi + 4], eax
mov eax, dword [ebx + 8]
mov dword [esi + edi*8 + 0xc], edx
mov dword [esi + edi*8 + 8], eax
cmp dword [ebx + 4], 1
jbe 0x4269a6
mov ebp, 1
mov edi, ebx
jmp 0x4267d8
mov eax, dword [edi + ebp*8 + 0xc]
cmp ebx, eax
jae 0x4267cc
mov dword [edx + 0xc], eax
add ebp, 1
cmp dword [edi + 4], ebp
jbe 0x4269a4
mov eax, dword [esi + 4]
mov ecx, dword [edi + ebp*8 + 8]
lea edx, [esi + eax*8 - 8]
mov dword [esp + 0x28], eax
cmp ecx, dword [edx + 8]
jb 0x4275f6
mov ebx, dword [edx + 0xc]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x4267c1
mov edx, dword [esi]
mov ebx, dword [esp + 0x28]
and edx, 0x7fffffff
cmp edx, ebx
jne 0x426870
cmp byte [esi + 3], 0
js 0x426913
lea eax, [ebx + 1]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004213b0
mov ecx, dword [esp + 0xe8]
lea edx, [eax*8 + 8]
test ecx, ecx
je 0x4277c3
mov ebx, dword [ecx + 4]
and eax, 0x7fffffff
mov esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe8], eax
mov dword [eax + 4], ebx
and edx, 0x80000000
or edx, esi
mov esi, eax
mov dword [eax], edx
shr edx, 0x18
and edx, 0x7f
mov byte [eax + 3], dl
lea eax, [ebx + 1]
mov edx, dword [edi + ebp*8 + 0xc]
mov dword [esi + 4], eax
mov eax, dword [edi + ebp*8 + 8]
mov dword [esi + ebx*8 + 0xc], edx
mov dword [esi + ebx*8 + 8], eax
jmp 0x4267cc
cmp ebp, 4
mov ecx, 4
mov dword [esp], 0
cmovae ecx, ebp
add ebx, 8
lea eax, [ecx*8 + 8]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
call fcn.004791b0
mov ecx, dword [esp + 0x30]
mov edx, eax
mov eax, dword [eax]
mov dword [edx + 4], 0
mov dword [esp + 0x30], edx
and eax, 0x80000000
and ecx, 0x7fffffff
or ecx, eax
lea eax, [edi*8]
mov dword [edx], ecx
shr ecx, 0x18
and ecx, 0x7f
mov byte [edx + 3], cl
lea ecx, [edx + 8]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0xe4]
mov dword [edx + 4], edi
mov ebx, edx
jmp 0x4266c0
lea edx, [ebx + 1]
mov eax, 4
mov dword [esp], 0
mov dword [esp + 0xe8], 0
cmp edx, 4
cmovb edx, eax
add esi, 8
lea eax, [edx*8 + 8]
mov dword [esp + 0x28], edx
mov dword [esp + 4], eax
call fcn.004791b0
mov edx, dword [esp + 0x28]
mov dword [esp + 0xe8], eax
add eax, 8
mov dword [eax - 4], 0
mov ecx, edx
mov edx, dword [eax - 8]
and ecx, 0x7fffffff
and edx, 0x80000000
or edx, ecx
mov dword [eax - 8], edx
shr edx, 0x18
and edx, 0x7f
mov byte [eax - 5], dl
lea edx, [ebx*8]
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov esi, dword [esp + 0xe8]
mov dword [esi + 4], ebx
jmp 0x426870
mov ebx, edi
mov ebp, dword [esi + 4]
test ebp, ebp
je 0x4277a7
cmp ebp, 1
jbe 0x426a27
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
cmp ecx, eax
ja 0x42756a
mov edx, dword [esi + 0x10]
cmp dword [esi + 0x14], edx
jb 0x42754e
cmp edx, ecx
jbe 0x4275a2
add eax, 1
cmp edx, eax
jbe 0x427586
mov eax, 1
jmp 0x426a20
mov edi, dword [esi + eax*8]
mov edx, dword [esi + eax*8 + 4]
cmp edi, edx
ja 0x42756a
mov ecx, dword [esi + eax*8 + 8]
cmp ecx, dword [esi + eax*8 + 0xc]
ja 0x42754e
cmp edi, ecx
jae 0x4275a2
add edx, 1
cmp ecx, edx
jbe 0x427586
add eax, 1
cmp ebp, eax
jne 0x4269f0
cmp byte [ebx + 3], 0
js 0x4274ad
mov dword [esp], ebx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x5c]
lea eax, [esp + 0x8c]
mov dword [esp + 0x28], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.0042a3a0
test eax, eax
je 0x426ab0
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x8c]
cmp eax, edx
jg 0x426ab0
mov ecx, edx
mov esi, 0xa
sub ecx, eax
cmp ecx, 0xa
cmovg ecx, esi
mov esi, ebx
sub esi, ecx
cmp ebx, edx
jg 0x4273d3
cmp eax, esi
jle 0x4273d3
sub eax, esi
mov dword [esp + 0xec], eax
nop
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x426db3
mov ebp, dword [edx + 4]
test ebp, ebp
jle 0x426db3
xor ecx, ecx
lea eax, [ecx + 1]
test ecx, ecx
mov dword [esp + 0x3c], eax
lea ebp, [edx + eax*8]
mov eax, dword [esp + 0xb0]
je 0x427400
lea edi, [edx + ecx*8]
mov ebx, dword [edi + 8]
cmp eax, ebx
jb 0x426b00
cmp eax, dword [edi + 0xc]
jbe 0x4274b9
nop
lea esi, [esi]
mov eax, dword [esp + 0xe4]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x4277f3
mov esi, dword [eax + 4]
test esi, esi
je 0x4277f3
lea edx, [eax + 8]
xor eax, eax
jmp 0x426b33
add eax, 1
add edx, 0x1c
cmp esi, eax
je 0x4277f3
mov ecx, dword [edx]
cmp ebx, ecx
ja 0x426b25
cmp ecx, dword [edi + 0xc]
ja 0x426b25
imul eax, eax, 0x1c
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0xac]
mov eax, dword [ebx + eax + 0xc]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0xbc]
mov byte [esp + 0x9c], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call dword [eax + 0x78]
mov eax, dword [ebp + 4]
mov esi, dword [ebp]
lea ebx, [esp + 0x78]
mov dword [esp + 0x30], ebx
cmp eax, esi
mov dword [esp + 0x34], eax
jl 0x426d9b
mov eax, dword [esp + 0x30]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call fcn.0042a3a0
test eax, eax
mov dword [esp + 0x2c], eax
je 0x426d8e
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
cmp edx, 0
jg 0x426c35
jmp 0x4277d1
sub edx, 1
je 0x426c44
movzx ecx, byte [eax + edx - 1]
cmp cl, 0x20
je 0x426c30
cmp cl, 9
je 0x426c30
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xa4]
xor ebx, ebx
mov dword [esp + 4], 0x20
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0xec]
mov dword [esp], edx
call fcn.00427f90
mov edx, dword [esp + 0xec]
lea ebp, [edx + 1]
cmp dword [esp + 0x78], ebp
jl 0x42740e
mov eax, dword [esp + 0x2c]
mov ecx, 0x7fffffff
sub edi, edx
mov dword [esp + 0x2c], esi
mov esi, ebp
mov ebp, ecx
add edi, eax
jmp 0x426ce3
movzx eax, byte [edi + esi - 1]
mov ecx, 0x20
cmp al, 9
je 0x426cc3
test al, 0xdf
je 0x426cc3
cmp ebp, 0x7fffffff
movsx ecx, al
mov ebx, esi
je 0x426d41
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], ecx
add esi, 1
mov dword [esp], eax
call fcn.00427f90
cmp dword [esp + 0x78], esi
jl 0x426e24
cmp byte [esp + 0xe0], 0
je 0x426ca0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xc], 0x7fffffff
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00425f30
sub esp, 0x14
test al, al
je 0x426d50
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0xc0]
mov dword [esp], eax
call fcn.00426140
sub esp, 4
jmp 0x426ca0
mov ebp, esi
jmp 0x426cc3
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
jmp 0x426ca0
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xa0]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00426200
sub esp, 8
add esi, 1
cmp dword [esp + 0x34], esi
jge 0x426be0
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x3c]
test edx, edx
je 0x426db3
cmp ecx, dword [edx + 4]
jl 0x426acc
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00427dc0
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x426de9
cmp byte [eax + 3], 0
js 0x427504
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x426e06
cmp byte [eax + 3], 0
js 0x427542
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xc0]
mov dword [esp], eax
call fcn.004260e0
sub esp, 4
jmp 0x4262ae
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x38], ebp
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00427f40
mov eax, dword [esp + 0xb4]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x426ec2
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x426ec2
lea edi, [ebx + 1]
add eax, 8
xor edx, edx
mov dword [esp + 0x2c], edi
mov edi, ebx
jmp 0x426e9a
cmp edi, ebp
jl 0x426e90
cmp esi, ebx
cmovl ebp, dword [esp + 0x2c]
nop
lea esi, [esi]
add edx, 1
add eax, 0x1c
cmp edx, ecx
je 0x426ec0
cmp esi, dword [eax]
jl 0x426e90
mov ebx, dword [eax + 8]
cmp esi, ebx
jne 0x426e80
mov ebx, dword [eax + 0xc]
add ebx, 1
cmp dword [eax + 0xc], ebp
cmovge ebp, ebx
add edx, 1
add eax, 0x1c
cmp edx, ecx
jne 0x426e9a
nop
lea esi, [esi]
mov ebx, edi
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], 0x20
mov dword [esp], eax
call fcn.00427f90
mov eax, dword [esp + 0xec]
lea edi, [eax + 1]
cmp edi, ebp
jge 0x426fab
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x38]
jmp 0x426f4b
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0xc0]
mov dword [esp], eax
call fcn.00426140
sub esp, 4
cmp byte [esp + 0x90], 0
je 0x4270c0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xa0]
movsx eax, byte [edx + eax + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00427f90
add edi, 1
cmp edi, dword [esp + 0x2c]
je 0x426fab
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x10], eax
call fcn.00425f30
sub esp, 0x14
test al, al
jne 0x426ef5
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
add edi, 1
call fcn.00426140
sub esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], 0x20
mov dword [esp], eax
call fcn.00427f90
cmp edi, dword [esp + 0x2c]
jne 0x426f4b
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
xor ebx, ebx
call fcn.00426140
sub esp, 4
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00427f40
mov eax, dword [esp + 0x114]
mov dword [esp + 0x78], 0
mov ebp, dword [eax + 0x14]
mov edi, dword [ebp + 0x38]
test edi, edi
jne 0x426ffc
jmp 0x426d70
add ebx, 1
cmp dword [ebp + 0x38], ebx
jbe 0x426d70
mov edi, dword [ebp + ebx*4 + 0x3c]
mov edx, dword [esp + 0xac]
mov eax, dword [edi]
mov ecx, edi
mov dword [esp + 4], esi
mov dword [esp], edx
call dword [eax + 0xc]
sub esp, 8
test al, al
je 0x426ff0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
cmp eax, 1
je 0x427182
jb 0x427100
cmp eax, 2
jne 0x4270e0
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042a800
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00426200
sub esp, 8
lea ecx, [esp + 0xc0]
mov dword [esp], 0
call fcn.00426140
mov eax, dword [edi + 0xc]
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00428240
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
mov eax, dword [edi + 0x10]
add dword [esp + 0x78], eax
jmp 0x426ff0
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], 0x7e
mov dword [esp], eax
call fcn.00427f90
jmp 0x426f42
mov dword [esp + 8], str.print_any_fixits
mov dword [esp + 4], 0x3c5
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
lea esi, [esi]
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042a800
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00426200
sub esp, 8
lea ecx, [esp + 0xc0]
mov dword [esp], 0
call fcn.00426140
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00428240
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
mov eax, dword [edi + 0xc]
add dword [esp + 0x78], eax
jmp 0x426ff0
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov dword [esp], eax
call fcn.0042a800
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0042a800
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x94]
mov dword [esp + 4], edi
mov dword [esp], ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], eax
call fcn.00426200
sub esp, 8
mov eax, dword [esp + 0x2c]
cmp edi, eax
jg 0x426ff0
mov dword [esp + 0x2c], ebx
mov ebx, edi
mov edi, eax
lea ecx, [esp + 0xc0]
mov dword [esp], 0
add ebx, 1
call fcn.00426140
sub esp, 4
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], 0x2d
mov dword [esp], edx
call fcn.00427f90
lea ecx, [esp + 0xc0]
mov dword [esp], 0xffffffff
call fcn.00426140
sub esp, 4
cmp edi, ebx
jge 0x4271f0
mov ebx, dword [esp + 0x2c]
jmp 0x426ff0
cmp eax, dword [esp + 0x78]
jne 0x426576
movzx ecx, byte [ebp + edi*8 + 8]
test cl, cl
mov byte [esp + 0x5b], cl
je 0x427297
cmp eax, dword [esp + 0x8c]
jne 0x426576
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x427297
mov eax, dword [eax + 4]
test eax, eax
je 0x427297
mov eax, dword [ebp + edi*8 + 4]
mov edx, dword [esp + 0x3c]
call fcn.00425e10
test al, al
je 0x426576
movzx eax, byte [ebp + edi*8 + 8]
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x38], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x48], eax
jle 0x4276b8
mov ebx, dword [esp + 0xe4]
test ebx, ebx
je 0x42773a
mov eax, dword [ebx + 4]
test eax, eax
jne 0x426576
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x54], eax
mov eax, dword [ebx]
mov esi, dword [ebx + 4]
and eax, 0x7fffffff
cmp eax, esi
mov dword [esp + 0x4c], eax
jne 0x4276ad
cmp byte [ebx + 3], 0
js 0x427612
lea eax, [esi + 1]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004213b0
imul edx, eax, 0x1c
mov ebx, eax
lea ecx, [edx + 8]
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x42778c
mov esi, dword [edx + 4]
and ebx, 0x7fffffff
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe4], eax
mov dword [eax + 4], esi
and edx, 0x80000000
or edx, ebx
mov dword [eax], edx
shr edx, 0x18
and edx, 0x7f
mov byte [eax + 3], dl
imul edx, esi, 0x1c
mov ebx, eax
add esi, 1
mov dword [ebx + 4], esi
lea eax, [ebx + edx + 8]
mov ebx, dword [esp + 0x38]
mov dword [eax], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax + 0xc], ebx
movzx ebx, byte [esp + 0x5b]
mov byte [eax + 0x10], bl
mov ebx, dword [esp + 0x44]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x48]
mov dword [eax + 0x18], ebx
jmp 0x426576
mov edi, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
lea edx, [eax + 1]
mov dword [esi + 4], edx
mov dword [esi + eax*8 + 8], edi
mov dword [esi + eax*8 + 0xc], ebp
cmp dword [ebx + 4], 1
ja 0x4267b8
jmp 0x4269a6
mov eax, dword [esp + 0xec]
test eax, eax
jns 0x426ab0
mov dword [esp + 8], str.layout
mov dword [esp + 4], 0x28e
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
nop
cmp eax, dword [edx + 0xc]
jg 0x426ae5
jmp 0x426bc6
mov dword [esp + 0x38], 0x7fffffff
jmp 0x426e2c
lea ebp, [edi + 1]
mov eax, 4
mov dword [esp + 0xe8], 0
cmp ebp, 4
cmovb ebp, eax
lea eax, [ebp*8 + 8]
and ebp, 0x7fffffff
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe8], eax
mov dword [eax + 4], 0
and edx, 0x80000000
or ebp, edx
mov dword [eax], ebp
shr ebp, 0x18
mov edx, ebp
and edx, 0x7f
cmp byte [esp + 0x34], 0
mov byte [eax + 3], dl
je 0x42782b
lea edx, [edi*8]
add eax, 8
add esi, 8
mov dword [esp + 4], esi
mov dword [esp], eax
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov esi, dword [esp + 0xe8]
mov dword [esi + 4], edi
jmp 0x42679a
mov dword [ebx + 4], 0
jmp 0x426a39
mov eax, dword [esp + 0xac]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x426b82
mov dword [eax + 4], 0
jmp 0x426de9
mov ebp, 4
mov eax, 0x28
mov byte [esp + 0x34], 0
xor edi, edi
jmp 0x427441
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x2f6
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [eax + 4], 0
jmp 0x426e06
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x312
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x311
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x316
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x314
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.line_span
mov dword [esp + 4], 0x99
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x2ec
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x2fc
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov eax, dword [esp + 0x4c]
mov ecx, 4
mov dword [esp], 0
mov dword [esp + 0xe4], 0
lea esi, [eax + 1]
cmp esi, 4
cmovae ecx, esi
add ebx, 8
imul eax, ecx, 0x1c
mov dword [esp + 0x5c], ecx
add eax, 8
mov dword [esp + 4], eax
call fcn.004791b0
mov ecx, dword [esp + 0x5c]
mov edx, dword [eax]
mov dword [esp + 0xe4], eax
mov dword [eax + 4], 0
add eax, 8
and ecx, 0x7fffffff
and edx, 0x80000000
or edx, ecx
mov dword [eax - 8], edx
shr edx, 0x18
and edx, 0x7f
mov byte [eax - 5], dl
mov dword [esp + 4], ebx
imul edx, dword [esp + 0x4c], 0x1c
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x5c], edx
call sub.msvcrt.dll_memcpy
mov ebx, dword [esp + 0xe4]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
mov dword [ebx + 4], eax
jmp 0x42736f
imul edx, esi, 0x1c
add esi, 1
jmp 0x42736f
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, ebx
call fcn.00425e10
test al, al
je 0x4272bb
mov edx, dword [esp + 0x3c]
mov eax, esi
call fcn.00425e10
test al, al
je 0x4272bb
mov ebx, dword [esp + 0xe4]
test ebx, ebx
jne 0x4272ed
mov dword [esp + 4], 0x78
mov dword [esp], 0
xor esi, esi
call fcn.004791b0
mov edx, dword [eax]
mov dword [esp + 0xe4], eax
mov dword [eax + 4], 0
and edx, 0x80000000
or edx, 4
mov dword [eax], edx
mov byte [eax + 3], 0
jmp 0x427367
mov dword [esp + 4], 0x78
mov dword [esp], 0
call fcn.004791b0
mov edx, dword [eax]
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xe4], eax
mov dword [eax + 4], 0
and edx, 0x80000000
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
or edx, 4
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [eax], edx
xor esi, esi
mov byte [eax + 3], 0
jmp 0x427367
and ebx, 0x7fffffff
xor esi, esi
jmp 0x42733c
and eax, 0x7fffffff
xor edi, edi
mov ebp, eax
jmp 0x42676b
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x30b
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
and eax, 0x7fffffff
xor ebx, ebx
mov esi, eax
jmp 0x426843
je 0x426c44
mov dword [esp + 8], str.get_line_width_without_trailing_whitespace
mov dword [esp + 4], 0x1ca
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.get_expanded_location
mov dword [esp + 4], 0x2c0
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov dword [esp + 8], str.calculate_line_spans
mov dword [esp + 4], 0x2e3
mov dword [esp], str..._.._.._.._src_gcc_6.4.0_gcc_diagnostic_show_locus.c
call fcn.00424940
mov esi, eax
xor edi, edi
jmp 0x42679a