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

Disassembly:
push 0xffffffffffffffff
push 0x4847ac
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x4a9750]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a9750]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x3c], edi
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x94]
mov ecx, ebx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x1b]
push eax
mov byte [esp + 0x1f], 1
call fcn.00414b10
mov esi, dword [esp + 0x2c]
mov ecx, ebx
mov eax, esi
sar eax, 0x18
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push eax
call fcn.00414b10
mov eax, esi
mov ecx, ebx
sar eax, 0x10
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push eax
call fcn.00414b10
mov eax, esi
mov ecx, ebx
sar eax, 8
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push eax
call fcn.00414b10
mov eax, esi
mov ecx, ebx
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push eax
call fcn.00414b10
mov eax, dword [edi]
mov edi, dword [eax]
cmp edi, eax
je 0x421bbe
mov byte [esp + 0x3a], 1
lea ecx, [edi + 0x10]
mov edx, ebx
call fcn.0041f950
mov eax, dword [edi + 0x2c]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x3a]
cmp eax, ecx
jae 0x42100c
mov esi, dword [ebx]
cmp esi, eax
ja 0x42100c
mov edx, dword [ebx + 8]
mov ebp, eax
sub ebp, esi
cmp ecx, edx
jne 0x420fe9
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x420fe9
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x420fda
xor edx, edx
jmp 0x420fdc
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0
test ecx, ecx
je 0x42106e
mov al, byte [eax + ebp]
mov byte [ecx], al
jmp 0x42106e
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421051
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421051
mov esi, dword [ebx]
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x421042
xor edx, edx
jmp 0x421044
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x8c], 1
test eax, eax
je 0x42106e
mov byte [eax], 1
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 0x18
mov dword [esp + 0x1c], eax
mov byte [esp + 0x38], al
lea eax, [esp + 0x38]
cmp eax, ecx
jae 0x421106
mov esi, dword [ebx]
cmp esi, eax
ja 0x421106
mov edx, dword [ebx + 8]
mov ebp, eax
sub ebp, esi
cmp ecx, edx
jne 0x4210e3
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4210e3
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4210d4
xor edx, edx
jmp 0x4210d6
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x8c], 2
test ecx, ecx
je 0x42116b
mov al, byte [eax + ebp]
mov byte [ecx], al
jmp 0x42116b
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x42114b
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x42114b
mov esi, dword [ebx]
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x42113c
xor edx, edx
jmp 0x42113e
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x8c], 3
test eax, eax
je 0x42116b
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x33], al
lea eax, [esp + 0x33]
cmp eax, ecx
jae 0x421203
mov esi, dword [ebx]
cmp esi, eax
ja 0x421203
mov edx, dword [ebx + 8]
mov ebp, eax
sub ebp, esi
cmp ecx, edx
jne 0x4211e0
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4211e0
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4211d1
xor edx, edx
jmp 0x4211d3
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 4
test ecx, ecx
je 0x421268
mov al, byte [eax + ebp]
mov byte [ecx], al
jmp 0x421268
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421248
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421248
mov esi, dword [ebx]
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x421239
xor edx, edx
jmp 0x42123b
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 5
test eax, eax
je 0x421268
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 8
mov dword [esp + 0x1c], eax
mov byte [esp + 0x3b], al
lea eax, [esp + 0x3b]
cmp eax, ecx
jae 0x421300
mov esi, dword [ebx]
cmp esi, eax
ja 0x421300
mov edx, dword [ebx + 8]
mov ebp, eax
sub ebp, esi
cmp ecx, edx
jne 0x4212dd
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4212dd
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4212ce
xor edx, edx
jmp 0x4212d0
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 6
test ecx, ecx
je 0x421365
mov al, byte [eax + ebp]
mov byte [ecx], al
jmp 0x421365
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421345
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421345
mov esi, dword [ebx]
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x421336
xor edx, edx
jmp 0x421338
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 7
test eax, eax
je 0x421365
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
mov byte [esp + 0x36], al
lea eax, [esp + 0x36]
cmp eax, ecx
jae 0x4213f6
mov esi, dword [ebx]
cmp esi, eax
ja 0x4213f6
mov edx, dword [ebx + 8]
mov ebp, eax
sub ebp, esi
cmp ecx, edx
jne 0x4213d3
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4213d3
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4213c4
xor edx, edx
jmp 0x4213c6
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 8
test ecx, ecx
je 0x42145b
mov al, byte [eax + ebp]
mov byte [ecx], al
jmp 0x42145b
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x42143b
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x42143b
mov esi, dword [ebx]
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, esi
sub edx, esi
mov esi, edx
or eax, 0xffffffff
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x42142c
xor edx, edx
jmp 0x42142e
add edx, esi
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 9
test eax, eax
je 0x42145b
mov edx, dword [esp + 0x2c]
mov byte [eax], dl
mov dword [esp + 0x8c], 0xffffffff
inc dword [ebx + 4]
mov eax, dword [edi + 0x28]
mov esi, dword [eax]
cmp esi, eax
je 0x421b6b
mov byte [esp + 0x35], 1
jmp 0x421480
lea ecx, [esi + 0x10]
mov edx, ebx
call fcn.0041f950
mov eax, dword [esi + 0x28]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x35]
cmp eax, ecx
jae 0x421511
mov ebp, dword [ebx]
cmp ebp, eax
ja 0x421511
mov edx, dword [ebx + 8]
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp ecx, edx
jne 0x4214eb
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4214eb
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x4214dc
xor edx, edx
jmp 0x4214de
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0xa
test ecx, ecx
je 0x421573
mov al, byte [eax]
mov byte [ecx], al
jmp 0x421573
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421556
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421556
mov ebp, dword [ebx]
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x421547
xor edx, edx
jmp 0x421549
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 0xb
test eax, eax
je 0x421573
mov byte [eax], 1
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 0x18
mov dword [esp + 0x1c], eax
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
cmp eax, ecx
jae 0x421610
mov ebp, dword [ebx]
cmp ebp, eax
ja 0x421610
mov edx, dword [ebx + 8]
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp ecx, edx
jne 0x4215ea
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4215ea
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x4215db
xor edx, edx
jmp 0x4215dd
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0xc
test ecx, ecx
je 0x421675
mov al, byte [eax]
mov byte [ecx], al
jmp 0x421675
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421655
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421655
mov ebp, dword [ebx]
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x421646
xor edx, edx
jmp 0x421648
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 0xd
test eax, eax
je 0x421675
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x37], al
lea eax, [esp + 0x37]
cmp eax, ecx
jae 0x421712
mov ebp, dword [ebx]
cmp ebp, eax
ja 0x421712
mov edx, dword [ebx + 8]
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp ecx, edx
jne 0x4216ec
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4216ec
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x4216dd
xor edx, edx
jmp 0x4216df
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0xe
test ecx, ecx
je 0x421777
mov al, byte [eax]
mov byte [ecx], al
jmp 0x421777
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421757
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421757
mov ebp, dword [ebx]
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x421748
xor edx, edx
jmp 0x42174a
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 0xf
test eax, eax
je 0x421777
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
sar eax, 8
mov dword [esp + 0x1c], eax
mov byte [esp + 0x39], al
lea eax, [esp + 0x39]
cmp eax, ecx
jae 0x421814
mov ebp, dword [ebx]
cmp ebp, eax
ja 0x421814
mov edx, dword [ebx + 8]
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp ecx, edx
jne 0x4217ee
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4217ee
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x4217df
xor edx, edx
jmp 0x4217e1
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0x10
test ecx, ecx
je 0x421879
mov al, byte [eax]
mov byte [ecx], al
jmp 0x421879
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421859
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421859
mov ebp, dword [ebx]
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x42184a
xor edx, edx
jmp 0x42184c
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 0x11
test eax, eax
je 0x421879
mov ecx, dword [esp + 0x1c]
mov byte [eax], cl
mov dword [esp + 0x8c], 0xffffffff
mov eax, dword [esp + 0x2c]
inc dword [ebx + 4]
mov ecx, dword [ebx + 4]
mov byte [esp + 0x2b], al
lea eax, [esp + 0x2b]
cmp eax, ecx
jae 0x42190f
mov ebp, dword [ebx]
cmp ebp, eax
ja 0x42190f
mov edx, dword [ebx + 8]
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp ecx, edx
jne 0x4218e9
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4218e9
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x4218da
xor edx, edx
jmp 0x4218dc
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x8c], 0x12
test ecx, ecx
je 0x421974
mov al, byte [eax]
mov byte [ecx], al
jmp 0x421974
mov edx, dword [ebx + 8]
cmp ecx, edx
jne 0x421954
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x421954
mov ebp, dword [ebx]
mov eax, ebp
sub eax, ecx
dec eax
cmp eax, 1
jb 0x421be4
sub ecx, ebp
sub edx, ebp
mov ebp, edx
or eax, 0xffffffff
shr ebp, 1
inc ecx
sub eax, ebp
cmp eax, edx
jae 0x421945
xor edx, edx
jmp 0x421947
add edx, ebp
cmp edx, ecx
cmovb edx, ecx
mov ecx, ebx
push edx
call fcn.00414d10
mov eax, dword [ebx + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x8c], 0x13
test eax, eax
je 0x421974
mov edx, dword [esp + 0x2c]
mov byte [eax], dl
mov dword [esp + 0x8c], 0xffffffff
inc dword [ebx + 4]
mov eax, dword [esp + 0x2c]
cmp eax, 3
ja case.default.0x42198f
jmp dword [eax*4 + 0x421bf4]
cmp dword [esi + 0x28], 1
jne 0x4219b8
mov eax, dword [esi + 0x30]
sub eax, dword [esi + 0x2c]
cmp eax, 4
jne 0x4219b8
mov eax, dword [esi + 0x2c]
mov edx, ebx
mov ecx, dword [eax]
call fcn.0041f5f0
jmp case.0x42198f.0
xor ecx, ecx
mov edx, ebx
call fcn.0041f5f0
jmp case.0x42198f.0
xor eax, eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], ax
mov dword [esp + 0x8c], 0x14
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x5c]
push eax
lea ecx, [esi + 0x28]
call fcn.0041f4b0
mov byte [esp + 0x8c], 0x15
mov edx, ebx
mov ecx, eax
call fcn.0041f950
mov byte [esp + 0x8c], 0x14
cmp dword [esp + 0x6c], 8
jb 0x421a36
push dword [esp + 0x58]
call fcn.00467305
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
mov dword [esp + 0x8c], 0xffffffff
cmp dword [esp + 0x54], 8
jb 0x421a6b
push dword [esp + 0x40]
call fcn.00467305
add esp, 4
xor eax, eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], ax
jmp case.0x42198f.0
xor ebp, ebp
mov dword [esp + 0x78], 0
xorps xmm0, xmm0
movq qword [esp + 0x70], xmm0
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x8c], 0x16
cmp dword [esi + 0x28], 3
je 0x421ac1
xor edx, edx
mov dword [esp + 0x74], ebp
xor ecx, ecx
jmp 0x421ae4
lea eax, [esi + 0x2c]
push eax
lea ecx, [esp + 0x74]
call fcn.004238e0
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
cmp ebp, edx
jne 0x421ae0
xor edx, edx
xor ecx, ecx
jmp 0x421ae4
sub edx, ebp
mov ecx, ebp
push ebx
call fcn.0041f6e0
add esp, 4
mov dword [esp + 0x8c], 0xffffffff
test ebp, ebp
je case.0x42198f.0
push ebp
call fcn.00467305
add esp, 4
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
cmp byte [esi + 0xd], 0
jne 0x421b62
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x421b42
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x421b62
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x421b36
jmp 0x421b62
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x421b60
jmp 0x421b50
cmp esi, dword [eax + 8]
jne 0x421b60
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x421b50
mov esi, eax
cmp esi, dword [edi + 0x28]
jne 0x421480
cmp byte [edi + 0xd], 0
jne 0x421bb2
mov eax, dword [edi + 8]
cmp byte [eax + 0xd], 0
jne 0x421b90
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0xd], 0
jne 0x421bb2
mov edi, eax
mov eax, dword [edi]
cmp byte [eax + 0xd], 0
je 0x421b84
jmp 0x421bb2
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x421bb0
lea esp, [esp]
cmp edi, dword [eax + 8]
jne 0x421bb0
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x421ba0
mov edi, eax
mov eax, dword [esp + 0x3c]
cmp edi, dword [eax]
jne 0x420f80
mov al, 1
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00466b29
add esp, 0x7c
ret 4
push str.vector_T__too_long
call fcn.00462dfa
xor al, al
jmp 0x421bc0