Function at 0x4665c0
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5423b8
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x1c
cmp eax, 0xd
push esi
push edi
mov esi, ecx
ja case.0x4665f1.4
xor ecx, ecx
mov cl, byte [eax + 0x4675e4]
jmp dword [ecx*4 + 0x4675d0]
mov ecx, esi
call fcn.004676a0
test eax, eax
jne 0x466637
mov ecx, dword [esp + 0x38]
call fcn.004676a0
test eax, eax
jne 0x466637
xor edx, edx
mov ecx, esi
test eax, eax
setne dl
push edx
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, 1
xor edx, edx
test eax, eax
setne dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, esi
call fcn.004676a0
test eax, eax
je 0x4666a7
mov ecx, dword [esp + 0x38]
call fcn.004676a0
test eax, eax
je 0x4666a7
mov eax, 1
xor ecx, ecx
test eax, eax
setne cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add eax, 0xfffffffd
cmp eax, 9
ja case.default.0x4666ef
jmp dword [eax*4 + 0x4675f4]
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46761c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x46674c
cmp eax, 3
je 0x46671c
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x10]
shr edx, 0x10
xor eax, eax
cmp edi, edx
setne al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
setne al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x466799
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
setne dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x4667f2
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
mov ecx, esi
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x466890
cmp ecx, 3
je 0x466850
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 0x10]
add eax, 0x10
cmp ecx, edx
jne 0x46686b
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 4]
cmp edx, ecx
je 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr ecx, 0x10
xor edx, edx
cmp ecx, edi
setne dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46762c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x466929
cmp eax, 3
je 0x4668f9
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [ecx + 0x14]
mov edx, dword [esi + 0x10]
shr eax, 0x10
xor ecx, ecx
cmp edx, eax
sete cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
sete al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x466976
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
sete dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x4669cf
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
mov ecx, esi
neg eax
sbb eax, eax
inc eax
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x466a70
cmp ecx, 3
je 0x466a2c
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 0x10]
add eax, 0x10
cmp ecx, edx
jne 0x4671d6
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 4]
cmp edx, ecx
jne 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr ecx, 0x10
xor edx, edx
cmp ecx, edi
sete dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46763c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x466b09
cmp eax, 3
je 0x466ad9
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [ecx + 0x14]
mov edx, dword [esi + 0x10]
shr eax, 0x10
xor ecx, ecx
cmp edx, eax
setge cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
setge al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x466b56
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
setge dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x466baf
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
xor ecx, ecx
test eax, eax
setge cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x466c53
cmp ecx, 3
je 0x466c0e
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 0x14]
add eax, 0x10
cmp edx, ecx
jb 0x4671d6
ja 0x466c2e
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
cmp ecx, edx
jb 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr edx, 0x10
xor ecx, ecx
cmp edx, edi
setge cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46764c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x466cec
cmp eax, 3
je 0x466cbc
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x10]
shr edx, 0x10
xor eax, eax
cmp edi, edx
setg al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
setg al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x466d39
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
setg dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x466d92
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
xor ecx, ecx
test eax, eax
setg cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x466e36
cmp ecx, 3
je 0x466df1
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 0x14]
add eax, 0x10
cmp edx, ecx
jb 0x4671d6
ja 0x466e11
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
cmp ecx, edx
jbe 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr edx, 0x10
xor ecx, ecx
cmp edx, edi
setg cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46765c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x466ecf
cmp eax, 3
je 0x466e9f
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x10]
shr edx, 0x10
xor eax, eax
cmp edi, edx
setle al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
setle al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x466f1c
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
setle dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x466f75
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
xor ecx, ecx
test eax, eax
setle cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x467019
cmp ecx, 3
je 0x466fd4
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 0x14]
add eax, 0x10
cmp edx, ecx
ja 0x4671d6
jb 0x466ff4
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
cmp ecx, edx
ja 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr edx, 0x10
xor ecx, ecx
cmp edx, edi
setle cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46766c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4670b2
cmp eax, 3
je 0x467082
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x10]
shr edx, 0x10
xor eax, eax
cmp edi, edx
setl al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + 0x10]
xor eax, eax
cmp edx, edi
setl al
push eax
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
dec ecx
je 0x4670ff
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 8]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.004f9670
add esp, 8
xor edx, edx
test eax, eax
setl dl
push edx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
sub eax, 2
je 0x467158
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add ecx, 0x10
push 5
lea eax, [esi + 0x10]
push ecx
push eax
call fcn.0041f700
add esp, 0xc
xor ecx, ecx
test eax, eax
jmp 0x467205
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4671f8
cmp ecx, 3
je 0x467199
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov ecx, dword [eax + 0x14]
add eax, 0x10
cmp edx, ecx
ja 0x4671d6
jb 0x4671b1
mov ecx, dword [esi + 0x10]
mov edx, dword [eax]
cmp ecx, edx
jae 0x4671d6
mov eax, 1
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
xor eax, eax
mov ecx, esi
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x14]
mov edi, dword [eax + 0x10]
shr edx, 0x10
xor ecx, ecx
cmp edx, edi
setl cl
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46767c]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46725c
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edx, dword [esi + 0x10]
mov ecx, dword [eax + 0x10]
sub edx, ecx
mov ecx, esi
push edx
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 4]
sub eax, 0
je 0x46759d
sub eax, 2
je 0x4672af
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
lea eax, [esi + 0x10]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x3c]
call fcn.0050ee55
add edi, 0x10
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x40]
call fcn.0050ee55
push ecx
mov ecx, dword [esp + 0x3c]
mov eax, esp
lea edx, [esp + 0xc]
mov dword [esp + 0x24], esp
push edx
mov dword [eax], ecx
lea ecx, [esp + 0x3c]
call fcn.0044d2a0
mov ecx, dword [esp + 8]
mov eax, 0xc22e4507
imul ecx
add edx, ecx
mov ecx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x4666ef
jmp dword [eax*4 + 0x46768c]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x467353
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [eax + 0x10]
mov edx, dword [esi + 0x10]
add ecx, edx
push ecx
mov ecx, esi
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
sub ecx, 0
je 0x467468
dec ecx
je 0x46741b
sub ecx, 2
je 0x4673ad
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add eax, 0x10
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00423090
add esp, 8
push eax
lea eax, [esi + 8]
lea ecx, [esp + 0x10]
push eax
push ecx
mov dword [esp + 0x38], 3
call fcn.00512b13
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [esp + 0x30], 4
call fcn.00467700
lea ecx, [esp + 0xc]
mov byte [esp + 0x2c], 3
call fcn.005128e4
lea ecx, [esp + 0x10]
mov dword [esp + 0x2c], 0xffffffff
call fcn.005128e4
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
add eax, 8
lea edx, [esi + 8]
push eax
lea eax, [esp + 0x18]
push edx
push eax
call fcn.00512b13
mov eax, dword [eax]
mov ecx, esi
push eax
mov dword [esp + 0x30], 0
call fcn.00467700
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], 0xffffffff
call fcn.005128e4
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1c]
cdq
push edx
push eax
push ecx
call fcn.00423670
add esp, 0xc
push eax
lea edx, [esi + 8]
lea eax, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x38], 1
call fcn.00512b13
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [esp + 0x30], 2
call fcn.00467700
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 1
call fcn.005128e4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0xffffffff
call fcn.005128e4
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 4]
neg eax
sbb eax, eax
and al, 0xfe
inc eax
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
test eax, eax
jne 0x46750b
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x467521
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 0x10]
test eax, eax
je 0x46754e
mov edx, dword [esi + 0x10]
mov ecx, esi
imul edx, eax
push edx
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, 0xfffffff7
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [esi + 4]
test eax, eax
jne case.0x467234.1
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46758e
or eax, 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov eax, dword [eax + 0x10]
mov ecx, esi
imul eax, dword [esi + 0x10]
push eax
call fcn.00467720
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x28
ret 8
mov ecx, dword [esp + 0x24]
pop edi
mov eax, 0xfffffffe
mov dword fs:[0], ecx
pop esi
add esp, 0x28
ret 8