Function at 0x416380
Capabilities:
Check for software breakpoints
Inspect section memory permissions

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov esi, edx
mov dword [esp + 0x10], ebx
cmp eax, 0xd2
jg 0x4142ae
je 0x414292
lea ecx, [eax - 3]
cmp ecx, 0xcc
ja case.0x415aa3.30118
movzx ecx, byte [ecx + 0x415d38]
jmp dword [ecx*4 + 0x415bec]
mov edi, dword [edi]
cmp edi, 0xffffffff
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x8f0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa68], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
xor edx, dword [esi + 0xaa0]
and edx, 1
xor dword [esi + 0xaa0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
add eax, eax
xor eax, dword [esi + 0xaa0]
and eax, 2
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x1e
xor ecx, dword [esi + 0xa9c]
and ecx, 0x40000000
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x19
xor edx, dword [esi + 0xa9c]
and edx, 0x2000000
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
shl eax, 0x13
xor eax, dword [esi + 0xa9c]
and eax, 0x80000
xor dword [esi + 0xa9c], eax
test dword [esi + 0xa9c], 0x80000
je 0x413598
or dword [esi + 0xaf4], 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [esi + 0xaf4], 0xffffffef
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x1c
xor ecx, dword [esi + 0xa9c]
and ecx, 0x10000000
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x14
xor edx, dword [esi + 0xa9c]
and edx, 0x100000
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
setne al
shl eax, 0x1d
xor eax, dword [esi + 0xa9c]
and eax, 0x20000000
xor dword [esi + 0xa9c], eax
test dword [esi + 0xa9c], 0x20000000
je 0x413642
and dword [esi + 0xa9c], 0xefffffff
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x838], 5
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x838], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 9
xor ecx, dword [esi + 0xa9c]
and ecx, 0x200
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49b
ja 0x413cc7
mov eax, dword [esp + 0x10]
imul edi, edi, 0x3e8
mov dword [esi + 0x658], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x660], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x928], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0xb
xor edx, dword [esi + 0xa9c]
and edx, 0x800
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x82c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cdq
pop edi
mov dword [esi + 0x830], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x834], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0x1b
xor eax, dword [esi + 0xa9c]
and eax, 0x8000000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x17
xor ecx, dword [esi + 0xa9c]
and ecx, 0x800000
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x16
xor edx, dword [esi + 0xa9c]
and edx, 0x400000
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0x18
xor eax, dword [esi + 0xa9c]
and eax, 0x1000000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffffffff
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5d4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
and edi, 7
mov dword [esi + 0x5d8], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [edi], ebx
je 0x413642
and dword [esi + 0xa9c], 0xefffffff
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x838], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cdq
mov edi, edx
mov ebp, eax
cmp edi, 0xffffffff
jg 0x41385c
jl 0x413cc7
cmp ebp, 0xffffffff
jb 0x413cc7
cmp dword [esi + 0x5ec], edi
jg 0x413898
jl 0x41386e
cmp dword [esi + 0x5e8], ebp
jae 0x413898
mov eax, dword [esi + 0x5dc]
cmp eax, dword [esi + 0xa30]
jne 0x413898
mov ecx, dword [esi + 0xa30]
push ecx
call dword [0x6f0024]
mov dword [esi + 0xa30], ebx
add esp, 4
mov dword [esi + 0x5dc], ebx
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5ec], edi
pop edi
mov dword [esi + 0x5e8], ebp
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 5
xor edx, dword [esi + 0xa9c]
and edx, 0x20
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [edi], ebx
je case.0x413488.91
and dword [esi + 0xa9c], 0xcfffffff
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x838], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
cmp edi, 3
jl 0x413919
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
mov dword [esi + 0x83c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jne 0x413943
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5c4], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, eax
shr ecx, 2
xor ecx, dword [esi + 0xd14]
and ecx, 4
xor dword [esi + 0xd14], ecx
test al, 0x10
je 0x413961
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdb
xor ecx, ecx
mov edx, 1
shl edx, cl
inc ecx
and edx, eax
jne 0x413984
cmp ecx, 0x1f
jl 0x413966
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x5c4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0xa
xor eax, dword [esi + 0xa9c]
and eax, 0x400
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5ac], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jne 0x4139f5
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5c8], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, eax
shr ecx, 2
xor ecx, dword [esi + 0xd24]
and ecx, 4
xor dword [esi + 0xd24], ecx
test al, 0x10
je 0x413a13
and eax, 0xffffffef
or eax, 2
and eax, 0xffffffdb
xor ecx, ecx
mov edx, 1
shl edx, cl
inc ecx
and edx, eax
jne 0x413a34
cmp ecx, 0x1f
jl 0x413a18
pop edi
pop esi
pop ebp
lea eax, [edx + 4]
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0x5c8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 7
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x8ec], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
sub edi, ebx
je 0x413a86
dec edi
jne case.0x415aa3.30118
or dword [esi + 0xaa0], 0x100
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [esi + 0xaa0], 0xfffffeff
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0xd
xor eax, dword [esi + 0xa9c]
and eax, 0x2000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0xc
xor ecx, dword [esi + 0xa9c]
and ecx, 0x1000
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x910], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x10
xor edx, dword [esi + 0xa9c]
and edx, 0x10000
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0xf
xor eax, dword [esi + 0xa9c]
and eax, 0x8000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x11
xor ecx, dword [esi + 0xa9c]
and ecx, 0x20000
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x918], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x12
xor edx, dword [esi + 0xa9c]
and edx, 0x40000
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x914], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
sub edi, ebx
je 0x413c1d
dec edi
je 0x413c07
dec edi
jne case.0x415aa3.30118
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x91c], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x91c], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x91c], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, 0xffffffff
jl 0x413cc7
cdq
pop edi
mov dword [esi + 0x668], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x66c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x670], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x674], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x5c0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49b
ja 0x413cc7
imul edi, edi, 0x3e8
mov eax, dword [esp + 0x10]
mov dword [esi + 0x648], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jge 0x413caf
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x20c49b
ja 0x413cc7
imul edi, edi, 0x3e8
mov eax, dword [esp + 0x10]
mov dword [esi + 0x64c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jge 0x413ce4
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, 0xffffffff
jl 0x413cc7
cdq
pop edi
mov dword [esi + 0x688], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x68c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esi + 0x9e8]
push eax
call dword [0x6f0024]
push esi
mov dword [esi + 0x9e8], ebx
call fcn.0041ef00
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 6
xor ecx, dword [esi + 0xa9c]
and ecx, 0x40
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x413cc7
push edi
call fcn.00423a00
add esp, 4
pop edi
mov word [esi + 0x5f0], ax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0xffff
ja 0x413cc7
push edi
call fcn.004239e0
add esp, 4
pop edi
mov dword [esi + 0x5f4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor edx, edx
cmp dword [edi], ebx
setne dl
xor edx, dword [esi + 0x864]
and edx, 1
xor dword [esi + 0x864], edx
mov eax, dword [esi + 0x864]
mov esi, dword [esi + 8]
cmp esi, ebx
je case.0x413488.91
mov ecx, dword [esi + 0x268]
xor ecx, eax
mov eax, dword [esp + 0x10]
pop edi
and ecx, 1
xor dword [esi + 0x268], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 1
jne 0x413e2f
push str.CURLOPT_SSL_VERIFYHOST_no_longer_supports_1_as_value_
push esi
call fcn.00423270
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x2b
pop ebx
add esp, 0xc
ret
xor edx, edx
cmp edi, ebx
setne dl
add edx, edx
xor edx, dword [esi + 0x864]
and edx, 2
xor dword [esi + 0x864], edx
mov eax, dword [esi + 0x864]
mov esi, dword [esi + 8]
cmp esi, ebx
je case.0x413488.91
mov ecx, dword [esi + 0x268]
xor ecx, eax
mov eax, dword [esp + 0x10]
pop edi
and ecx, 2
xor dword [esi + 0x268], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [0x6f0034]
test byte [edx + 8], 2
je case.0x4142d5.244
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
xor eax, dword [esi + 0x890]
and eax, 1
xor dword [esi + 0x890], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x80000
jle 0x413eb8
mov edi, 0x80000
jmp 0x413ed1
cmp edi, 1
jge 0x413ec4
mov edi, 0x4000
jmp 0x413ed1
cmp edi, 0x400
jge 0x413ed1
mov edi, 0x400
cmp edi, dword [esi + 0x8f4]
je 0x413f11
mov edx, dword [esi + 0xc6c]
lea ecx, [edi + 1]
push ecx
push edx
call dword [0x6f0028]
add esp, 8
cmp eax, ebx
jne 0x413f0b
mov dword [esi + 0x8f4], edi
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esi + 0xc6c], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x8f4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
add eax, eax
add eax, eax
xor eax, dword [esi + 0xaa0]
and eax, 4
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
cmp eax, ebx
jl 0x413cc7
cdq
mov dword [esi + 0x908], eax
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x90c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 3
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x92c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 2
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x904], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor ecx, ecx
cmp dword [edi], ebx
mov eax, dword [esp + 0x10]
setne cl
pop edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0xaa0]
and ecx, 8
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 4
xor edx, dword [esi + 0xaa0]
and edx, 0x10
xor dword [esi + 0xaa0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 5
xor eax, dword [esi + 0xaa0]
and eax, 0x20
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esi + 0x8b8]
xor ecx, ecx
cmp dword [edi], ebx
mov eax, dword [esp + 0x10]
setne cl
pop edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0x864]
and ecx, 8
xor dword [esi + 0x864], ecx
xor edx, dword [esi + 0x864]
and edx, 8
xor dword [esi + 0x8b8], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
sete al
shl eax, 6
xor eax, dword [esi + 0xaa0]
and eax, 0x40
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
sete cl
shl ecx, 7
xor ecx, dword [esi + 0xaa0]
and ecx, 0x80
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x1ff
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x930], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x1ff
ja 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x934], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa34], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0xa38], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa3c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
dec eax
cmp eax, 0xa
ja case.default.0x41412a
jmp dword [eax*4 + 0x415e08]
mov eax, 1
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 2
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 3
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 4
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 5
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 6
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 7
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 8
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 9
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 0xa
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, 0xb
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
pop edi
mov dword [esi + 0xa44], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xf48], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0xf48], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0xa
xor ecx, dword [esi + 0xaa0]
and ecx, 0x400
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa5c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x2711
jg 0x4147c0
je 0x4147ac
lea ecx, [eax - 0xd4]
cmp ecx, 0x4c
ja case.0x415aa3.30118
movzx edx, byte [ecx + 0x415eb0]
jmp dword [edx*4 + 0x415e34]
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0x15
xor eax, dword [esi + 0xa9c]
and eax, 0x200000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor ecx, ecx
cmp dword [edi], ebx
mov eax, dword [esp + 0x10]
setne cl
pop edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0xa9c]
and ecx, 8
xor dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
lea ecx, [esi + 0x840]
cmp eax, 0x20
je 0x41433c
lea ecx, [esi + 0x894]
mov edi, dword [edi]
mov eax, edi
and eax, 0xffff
and edi, 0xffff0000
cmp eax, 7
ja 0x413cc7
cmp edi, 0x7ffff
ja 0x413cc7
mov dword [ecx + 4], edi
pop edi
pop esi
pop ebp
mov dword [ecx], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
shl edx, 4
xor edx, dword [esi + 0xa9c]
pop edi
and edx, 0x10
xor dword [esi + 0xa9c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa6c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 1
jg 0x413cc7
xor eax, eax
cmp edi, ebx
setne al
pop edi
shl eax, 0x19
xor eax, dword [esi + 0xaa0]
and eax, 0x2000000
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x5cc], edi
test edi, 0xfffffffa
je case.0x413488.91
pop edi
pop esi
mov dword [esp + 8], 4
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x650], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x14
xor ecx, dword [esi + 0xaa0]
and ecx, 0x100000
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor edx, edx
cmp dword [edi], ebx
setne dl
xor edx, dword [esi + 0x8b8]
and edx, 1
xor dword [esi + 0x8b8], edx
mov eax, dword [esi + 0x8b8]
mov esi, dword [esi + 8]
cmp esi, ebx
je case.0x413488.91
mov ecx, dword [esi + 0x290]
xor ecx, eax
mov eax, dword [esp + 0x10]
pop edi
and ecx, 1
xor dword [esi + 0x290], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 1
je 0x413e14
xor edx, edx
cmp edi, ebx
setne dl
add edx, edx
xor edx, dword [esi + 0x8b8]
and edx, 2
xor dword [esi + 0x8b8], edx
mov eax, dword [esi + 0x8b8]
mov esi, dword [esi + 8]
cmp esi, ebx
je case.0x413488.91
mov ecx, dword [esi + 0x290]
xor ecx, eax
mov eax, dword [esp + 0x10]
pop edi
and ecx, 2
xor dword [esi + 0x290], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call fcn.0041f5d0
test eax, eax
je case.0x4142d5.244
xor edx, edx
cmp dword [edi], ebx
setne dl
add edx, edx
add edx, edx
xor edx, dword [esi + 0x864]
and edx, 4
xor dword [esi + 0x864], edx
mov eax, dword [esi + 0x864]
mov esi, dword [esi + 8]
cmp esi, ebx
je case.0x413488.91
mov ecx, dword [esi + 0x268]
xor ecx, eax
mov eax, dword [esp + 0x10]
pop edi
and ecx, 4
xor dword [esi + 0x268], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call fcn.0041f5e0
test eax, eax
je case.0x4142d5.244
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
add edx, edx
xor edx, dword [esi + 0x890]
and edx, 2
xor dword [esi + 0x890], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, 0x200000
jle 0x414577
mov edi, 0x200000
jmp 0x414584
cmp edi, 0x4000
jge 0x414584
mov edi, 0x4000
mov eax, dword [esi + 0xc70]
push eax
mov dword [esi + 0x8f8], edi
call dword [0x6f0024]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
mov dword [esi + 0xc70], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov eax, dword [esp + 0x10]
lea ecx, [edi*4]
xor ecx, dword [esi + 0x890]
pop edi
and ecx, 0xc
xor dword [esi + 0x890], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea edx, [edi*4]
xor edx, dword [esi + 0x8e4]
lea eax, [edi*4]
and edx, 4
xor dword [esi + 0x8e4], edx
xor eax, dword [esi + 0x8e4]
pop edi
and eax, 8
xor dword [esi + 0x8e4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 9
xor ecx, dword [esi + 0xaa0]
and ecx, 0x200
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0xb
xor edx, dword [esi + 0xaa0]
and edx, 0x800
xor dword [esi + 0xaa0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa60], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa64], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0xf
xor eax, dword [esi + 0xaa0]
and eax, 0x8000
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x10
xor ecx, dword [esi + 0xaa0]
and ecx, 0x10000
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [edi], ebx
pop edi
setne dl
shl edx, 0x11
xor edx, dword [esi + 0xaa0]
and edx, 0x20000
xor dword [esi + 0xaa0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x654], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
xor eax, eax
cmp dword [edi], ebx
pop edi
setne al
shl eax, 0x12
xor eax, dword [esi + 0xaa0]
and eax, 0x40000
xor dword [esi + 0xaa0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [edi], ebx
pop edi
setne cl
shl ecx, 0x16
xor ecx, dword [esi + 0xaa0]
and ecx, 0x400000
xor dword [esi + 0xaa0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0xa84], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
jl 0x413cc7
mov eax, dword [esp + 0x10]
mov dword [esi + 0x65c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5b0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x27fb
jg 0x4154df
je case.0x4147e8.10179
add eax, 0xffffd8ee
cmp eax, 0xe4
ja case.0x415aa3.30118
movzx eax, byte [eax + 0x416030]
jmp dword [eax*4 + 0x415f00]
mov ecx, dword [edi]
push ecx
add esi, 0x9bc
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x9d0
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9cc
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x98c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x4148b7
cmp byte [edi], bl
jne 0x4148b7
call fcn.004224f0
mov edi, eax
cmp edi, ebx
jne 0x414890
pop edi
pop esi
mov dword [esp + 8], 0x1b
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0xc
ret
push edi
add esi, 0x960
push esi
call fcn.00413320
push edi
mov dword [esp + 0x1c], eax
call dword [0x6f0024]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
add esi, 0x960
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je 0x414983
mov ecx, dword [esi + 0x5e8]
mov eax, dword [esi + 0x5ec]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x414983
cmp eax, ebx
jl 0x414952
jg 0x414952
cmp ecx, ebx
jb 0x414952
cmp eax, ebx
jg 0x414952
jl 0x41490b
cmp ecx, 0xffffffff
ja 0x414952
mov eax, dword [esi + 0xa30]
push eax
call dword [0x6f0024]
mov dword [esi + 0xa30], ebx
mov eax, dword [esi + 0x5e8]
mov ecx, dword [esi + 0x5ec]
mov edx, eax
add esp, 4
or edx, ecx
je 0x414939
mov dword [esp + 0x18], ecx
jmp 0x414942
mov eax, 1
mov dword [esp + 0x18], ebx
push eax
call dword [0x6f0020]
mov ebp, eax
add esp, 4
cmp ebp, ebx
jne 0x41495c
mov dword [esp + 0x10], 0x1b
jmp 0x414997
mov eax, dword [esi + 0x5e8]
or eax, dword [esi + 0x5ec]
je 0x41497b
mov ecx, dword [esi + 0x5e8]
push ecx
push edi
push ebp
call fcn.004bd990
add esp, 0xc
mov dword [esi + 0xa30], ebp
jmp 0x414997
lea eax, [esi + 0xa30]
push edi
push eax
call fcn.00413320
add esp, 8
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0xa30]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5dc], edx
mov dword [esi + 0x838], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov dword [esi + 0x5dc], eax
mov ecx, dword [esi + 0xa30]
push ecx
call dword [0x6f0024]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0xa30], ebx
pop edi
mov dword [esi + 0x838], 2
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
and dword [esi + 0xa9c], 0xefffffff
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x698], edx
mov dword [esi + 0x838], 3
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
test byte [esi + 0xab8], 2
je 0x414a3b
mov eax, dword [esi + 0xaac]
push eax
call dword [0x6f0024]
add esp, 4
and dword [esi + 0xab8], 0xfffffffd
mov dword [esi + 0xaac], ebx
mov ecx, dword [edi]
push ecx
lea ebp, [esi + 0x99c]
push ebp
call fcn.00413320
mov edx, dword [ebp]
add esp, 8
pop edi
mov dword [esi + 0xaac], edx
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9d4
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x690], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x694], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x900], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x94c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je case.0x413488.91
mov edx, dword [esi + 0xab0]
push edi
push edx
call fcn.00413220
add esp, 8
cmp eax, ebx
jne 0x414b1a
mov eax, dword [esi + 0xab0]
push eax
call fcn.004132a0
add esp, 4
pop edi
mov dword [esi + 0xab0], ebx
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
pop edi
mov dword [esi + 0xab0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
lea edx, [esi + 0x950]
push edx
call fcn.00413320
mov ecx, dword [esi + 0xabc]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xa9c]
shr eax, 5
and eax, 1
push eax
push ecx
push ebx
push esi
call fcn.00421490
add esp, 0x18
cmp eax, ebx
jne 0x414b69
mov dword [esp + 0x10], 0x1b
pop edi
mov dword [esi + 0xabc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je case.0x413488.91
push 0x672704
push edi
call fcn.00421c20
add esp, 8
test eax, eax
je 0x414bc4
push 2
push 2
push esi
call fcn.00422030
mov edx, dword [esi + 0xabc]
push edx
call fcn.00421810
push 2
push esi
call fcn.00422070
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.SESS
push edi
call fcn.00421c20
add esp, 8
test eax, eax
je 0x414c03
push 2
push 2
push esi
call fcn.00422030
mov eax, dword [esi + 0xabc]
push eax
call fcn.00420f00
push 2
push esi
call fcn.00422070
mov eax, dword [esp + 0x28]
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.FLUSH
push edi
call fcn.00421c20
add esp, 8
test eax, eax
je 0x414c2b
push ebx
push esi
call fcn.00421b40
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.RELOAD
push edi
call fcn.00421c20
add esp, 8
test eax, eax
je 0x414c52
push esi
call fcn.004218c0
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [esi + 0xabc], ebx
jne 0x414c6d
push 1
push ebx
push ebx
push esi
call fcn.00421490
add esp, 0x10
mov dword [esi + 0xabc], eax
push edi
call dword [0x6f002c]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x414ce8
cmp dword [esi + 0xabc], ebx
je 0x414ce8
push 2
push 2
push esi
call fcn.00422030
push 0xb
push edi
push 0x6726e0
call fcn.00421d80
add esp, 0x18
push 1
push ebx
push ebx
test eax, eax
je 0x414cb7
mov edx, dword [esi + 0xabc]
lea ecx, [edi + 0xb]
push ecx
push ebx
push 1
push edx
jmp 0x414cc1
mov eax, dword [esi + 0xabc]
push edi
push ebx
push ebx
push eax
push esi
call fcn.0041ffc0
add esp, 0x20
push 2
push esi
call fcn.00422070
push edi
call dword [0x6f0024]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push edi
mov dword [esp + 0x14], 0x1b
call dword [0x6f0024]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x954
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x990
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x5b8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5a8], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
lea ebp, [esi + 0x96c]
push ebp
call fcn.00413320
mov dword [esp + 0x18], eax
xor eax, eax
add esp, 8
cmp dword [ebp], ebx
pop edi
setne al
shl eax, 0xe
xor eax, dword [esi + 0xa9c]
and eax, 0x4000
xor dword [esi + 0xa9c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x964
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x968
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
lea ebp, [esi + 0x988]
push ebp
call fcn.00413320
mov edx, dword [esi + 0xa9c]
add esp, 8
xor ecx, ecx
cmp dword [ebp], ebx
pop edi
setne cl
and edx, 0x7fffffff
mov dword [esp + 0xc], eax
shl ecx, 0x1f
or ecx, edx
mov dword [esi + 0xa9c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x5b4], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
test byte [esi + 0xab8], 1
je 0x414e5b
mov ecx, dword [esi + 0xaa8]
push ecx
call dword [0x6f0024]
add esp, 4
and dword [esi + 0xab8], 0xfffffffe
mov dword [esi + 0xaa8], ebx
mov edx, dword [edi]
push edx
lea ebp, [esi + 0x9a0]
push ebp
call fcn.00413320
add esp, 8
mov dword [esp + 0x10], eax
mov eax, dword [ebp]
pop edi
mov dword [esi + 0xaa8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea ebx, [esi + 0x9f0]
add esi, 0x9ec
push esi
call fcn.00413390
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x9ec
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x9f0
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9f4
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0xa20
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x80c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x810], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x808], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x824], edi
mov dword [esi + 0xab4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x640], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
lea ebx, [esi + 0x9fc]
add esi, 0x9f8
push esi
call fcn.00413390
add esp, 4
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9f8
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x9fc
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0xa00
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x998
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5a4], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x5a0], edi
cmp edi, ebx
jne case.0x413488.91
call fcn.004bf170
add eax, 0x40
pop edi
mov dword [esi + 0x5a0], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x630], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x644], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x93c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x944
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x970
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x980
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x978
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp edi, ebx
je case.0x413488.91
cmp byte [edi], bl
je case.0x413488.91
lea eax, [esi + 0x9e8]
push edi
push eax
call fcn.00413320
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x413488.91
push edi
push esi
call fcn.0041eef0
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x95c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x6f0034]
test byte [ecx + 8], 8
je case.0x4142d5.244
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x878], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [0x6f0034]
test byte [eax + 8], 4
je case.0x4142d5.244
mov ecx, dword [edi]
push ecx
add esi, 0x9b4
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x9ac
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [0x6f0034]
test byte [eax + 8], 1
je case.0x4142d5.244
mov ecx, dword [edi]
push ecx
add esi, 0x9a4
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x9d8
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9e0
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x820], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
cmp dword [esi + 0x90], ebx
je 0x4152e8
push 2
push 1
push esi
call fcn.00422030
add esp, 0xc
cmp dword [esi + 0x84], 2
jne 0x41529c
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov eax, dword [esi + 0x90]
mov edx, dword [eax + 0x68]
cmp edx, dword [esi + 0xabc]
jne 0x4152b3
mov dword [esi + 0xabc], ebx
mov eax, dword [eax + 0x6c]
cmp eax, dword [esi + 0xc88]
jne 0x4152c4
mov dword [esi + 0xc88], ebx
mov ecx, dword [esi + 0x90]
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x90]
dec edx
push 1
push esi
mov dword [eax + 4], edx
call fcn.00422070
add esp, 8
mov dword [esi + 0x90], ebx
mov dword [esi + 0x90], edi
cmp edi, ebx
je case.0x413488.91
push 2
push 1
push esi
call fcn.00422030
mov ecx, dword [esi + 0x90]
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x90]
inc edx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x90]
add esp, 0xc
test byte [eax], 8
je 0x415334
lea ecx, [eax + 0x50]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], 2
cmp dword [eax + 0x68], ebx
je 0x415357
mov edx, dword [esi + 0xabc]
push edx
call fcn.00420fe0
mov eax, dword [esi + 0x90]
mov ecx, dword [eax + 0x68]
add esp, 4
mov dword [esi + 0xabc], ecx
cmp dword [eax + 0x6c], ebx
je 0x415374
mov edx, dword [eax + 0x70]
mov dword [esi + 0x8e8], edx
mov eax, dword [esi + 0x90]
mov ecx, dword [eax + 0x6c]
mov dword [esi + 0xc88], ecx
push 1
push esi
call fcn.00422070
mov eax, dword [esp + 0x18]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x8fc], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x61c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x624], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x62c], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0xa18
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0xa1c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa40], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0xa04
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0xa08
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0xa0c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x5bc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xfcc], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa58], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0xa10
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
cmp eax, 0x4e2b
jg 0x415828
je 0x4157ec
add eax, 0xffffd804
cmp eax, 0x30
ja case.0x415aa3.30118
movzx ecx, byte [eax + 0x416178]
jmp dword [ecx*4 + 0x416118]
mov edx, dword [edi]
push edx
add esi, 0x9c0
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
call fcn.0041f5f0
test eax, eax
je case.0x415505.10240
mov eax, dword [edi]
push eax
add esi, 0x9c4
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
call fcn.0041f5f0
test eax, eax
je case.0x415505.10240
mov ecx, dword [edi]
push ecx
add esi, 0x9c8
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0xa24
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push ebx
push eax
lea ecx, [esi + 0x6a0]
push ecx
call fcn.0041df40
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, ebx
jne case.0x413488.91
and dword [esi + 0xa9c], 0xefffffff
pop edi
mov dword [esi + 0x838], 4
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x994
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0xa14
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa90], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x940
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x948
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
add esi, 0x974
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x984
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x97c
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x6f0034]
test byte [ecx + 8], 4
je case.0x4142d5.244
mov edx, dword [edi]
push edx
add esi, 0x9b8
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9b0
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [0x6f0034]
test byte [ecx + 8], 1
je case.0x4142d5.244
mov edx, dword [edi]
push edx
add esi, 0x9a8
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
push eax
add esi, 0x9dc
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa80], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
push edx
add esi, 0x958
push esi
call fcn.00413320
add esp, 8
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x828], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
push ecx
lea ebp, [esi + 0xa28]
push ebp
call fcn.00413320
add esp, 8
xor edx, edx
cmp dword [ebp], ebx
pop edi
setne dl
mov dword [esp + 0xc], eax
shl edx, 0x17
xor edx, dword [esi + 0xaa0]
and edx, 0x800000
xor dword [esi + 0xaa0], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0xa94], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x5f8], edi
cmp edi, ebx
jne 0x415815
and dword [esi + 0xa9c], 0xfffffffd
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5f8], 0x4be791
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
or dword [esi + 0xa9c], 2
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x4f30
jg 0x415a33
je 0x415a1f
add eax, 0xffffb1d4
cmp eax, 0xcf
ja case.0x415aa3.30118
movzx ecx, byte [eax + 0x4161f8]
jmp dword [ecx*4 + 0x4161ac]
mov edi, dword [edi]
mov dword [esi + 0x608], edi
cmp edi, ebx
je 0x415876
or dword [esi + 0xc44], 1
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
and dword [esi + 0xc44], 0xfffffffe
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x60c], edi
cmp edi, ebx
je 0x415876
or dword [esi + 0xc44], 1
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x610], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x5fc], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edi, dword [edi]
mov dword [esi + 0x604], edi
cmp edi, ebx
jne 0x4158f9
and dword [esi + 0xa9c], 0xfffffffe
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x604], 0x4bf153
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
or dword [esi + 0xa9c], 1
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x5e0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x634], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x638], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x63c], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x614], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [0x6f0034]
test byte [eax + 8], 8
je case.0x4142d5.244
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x874], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x618], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0x620], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x628], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x600], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0xa4c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa50], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa54], edx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
pop edi
mov dword [esi + 0xa7c], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x75a3
jg 0x415a8c
je 0x415a5b
cmp eax, 0x4f3b
jne case.0x415aa3.30118
mov ecx, dword [edi]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0xa98], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x415a74
jl 0x413cc7
cmp eax, 0xffffffff
jb 0x413cc7
mov dword [esi + 0x66c], edi
pop edi
mov dword [esi + 0x668], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
add eax, 0xffff8a5c
cmp eax, 0x9a
ja case.0x415aa3.30118
movzx edx, byte [eax + 0x4162e4]
jmp dword [edx*4 + 0x4162c8]
mov eax, dword [edi]
mov dword [esi + 0x830], eax
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x10]
pop edi
mov dword [esi + 0x834], ecx
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ebp, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x415ae0
jl 0x413cc7
cmp ebp, 0xffffffff
jb 0x413cc7
cmp dword [esi + 0x5ec], edi
jg 0x413898
jl 0x415afa
cmp dword [esi + 0x5e8], ebp
jae 0x413898
mov ecx, dword [esi + 0x5dc]
cmp ecx, dword [esi + 0xa30]
jne 0x413898
mov edx, dword [esi + 0xa30]
push edx
jmp 0x413883
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x415b2f
jl 0x413cc7
cmp eax, ebx
jb 0x413cc7
mov dword [esi + 0x67c], edi
pop edi
mov dword [esi + 0x678], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x415b5e
jl 0x413cc7
cmp eax, ebx
jb 0x413cc7
mov dword [esi + 0x684], edi
pop edi
mov dword [esi + 0x680], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, 0xffffffff
jg 0x415b8f
jl 0x413cc7
cmp eax, 0xffffffff
jb 0x413cc7
mov dword [esi + 0x68c], edi
pop edi
mov dword [esi + 0x688], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi]
mov edi, dword [edi + 4]
cmp edi, ebx
jg 0x415bbe
jl 0x413cc7
cmp eax, ebx
jb 0x413cc7
mov dword [esi + 0x908], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x90c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov edx, dword [esp + 4]
test edx, edx
jne 0x41638c
lea eax, [edx + 0x2b]
ret
mov eax, dword [esp + 8]
lea ecx, [esp + 0xc]
jmp 0x413450