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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x515a8a
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x56858c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [esi + 4]
push eax
mov dword [ebp - 0x5c], esi
call dword [0x526354]
push eax
mov ecx, 0x569920
call fcn.0040c370
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
cmp eax, ecx
je 0x426038
mov edx, ecx
cmp ecx, ecx
je 0x426035
mov edi, ecx
sub edi, eax
nop
mov ebx, dword [edx]
mov dword [eax], ebx
mov ebx, dword [edi + eax + 4]
mov dword [eax + 4], ebx
add edx, 8
add eax, 8
cmp edx, ecx
jne 0x426020
mov dword [esi + 0x6c], eax
xor ebx, ebx
mov dword [ebp - 0x44], 0x578
mov dword [ebp - 0x40], 0x5dc
mov dword [ebp - 0x3c], 0x579
mov dword [ebp - 0x38], 0x5dd
mov dword [ebp - 0x34], 0x57a
mov dword [ebp - 0x30], 0x5de
mov dword [ebp - 0x2c], 0x57b
mov dword [ebp - 0x28], 0x5df
mov dword [ebp - 0x24], 0x57c
mov dword [ebp - 0x20], 0x5e0
mov dword [ebp - 0x1c], 0x57d
mov dword [ebp - 0x18], 0x5e1
mov dword [ebp - 0x60], ebx
mov eax, dword [esi + 0x6c]
mov edi, dword [ebp + ebx*4 - 0x44]
mov ecx, dword [ebp + ebx*4 - 0x40]
lea edx, [ebp - 0x84]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jae 0x426124
mov edx, dword [esi + 0x68]
lea ecx, [ebp - 0x84]
cmp edx, ecx
ja 0x426124
mov edi, ecx
mov ecx, dword [esi + 0x70]
sub edi, edx
sar edi, 3
cmp eax, ecx
jne 0x42610b
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x426227
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x42610b
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x4260f7
xor ecx, ecx
jmp 0x4260f9
add ecx, edx
cmp ecx, eax
jae 0x4260ff
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.00416500
mov ebx, dword [ebp - 0x60]
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x68]
lea edi, [edx + edi*8]
test eax, eax
je 0x42617e
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
jmp 0x42617e
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jne 0x42616f
mov edx, dword [esi + 0x68]
sub eax, edx
sar eax, 3
cmp eax, 0x1ffffffe
ja 0x426227
sub ecx, edx
inc eax
sar ecx, 3
cmp eax, ecx
jbe 0x42616f
mov edx, ecx
shr edx, 1
mov ebx, 0x1fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x42615b
xor ecx, ecx
jmp 0x42615d
add ecx, edx
cmp ecx, eax
jae 0x426163
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.00416500
mov ebx, dword [ebp - 0x60]
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x42617e
mov ecx, dword [ebp - 0x80]
mov dword [eax], edi
mov dword [eax + 4], ecx
add dword [esi + 0x6c], 8
add ebx, 2
mov dword [ebp - 0x60], ebx
cmp ebx, 0xc
jb 0x426091
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx]
mov ecx, 0x55925c
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call eax
mov dword [ebp - 0x4c], 1
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [0x5699f4], edi
jne 0x426239
push 0x68
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 1
cmp esi, edi
je 0x426231
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
jmp 0x426233
push str.vector_T__too_long
call fcn.005035ed
xor esi, esi
mov dword [0x5699f4], esi
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx + 4]
or ebx, 0xffffffff
mov ecx, 0x55925c
mov dword [ebp - 4], ebx
call eax
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x42629a
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x42629a
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x42628e
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42629c
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42629c
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x4262a7
xor ecx, ecx
jmp 0x4262bd
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x4262b3
mov edx, dword [ecx + 0xc]
jmp 0x4262b5
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp byte [eax], 0
mov edx, dword [ebp - 0x5c]
sete cl
mov byte [edx + 0x78], cl
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x55925c
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 4], 2
cmp dword [0x5699f4], edi
jne 0x42636d
push 0x68
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 3
cmp esi, edi
je 0x426365
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
jmp 0x426367
xor esi, esi
mov dword [0x5699f4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x55925c
mov dword [ebp - 4], ebx
call edx
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4263ca
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x4263ca
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x4263be
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4263cc
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4263cc
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x4263d7
xor ecx, ecx
jmp 0x4263ed
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x4263e3
mov edx, dword [ecx + 0xc]
jmp 0x4263e5
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5dc
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [0x5262a4]
mov ebx, dword [0x526384]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x55925c
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
cmp dword [0x5699f4], 0
mov dword [ebp - 4], 4
jne 0x4264e4
push 0x68
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
xor edi, edi
mov byte [ebp - 4], 5
cmp esi, edi
je 0x4264dc
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
jmp 0x4264de
xor esi, esi
mov dword [0x5699f4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x55925c
mov dword [ebp - 4], 0xffffffff
call edx
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426545
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426545
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426539
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426547
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426547
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426552
xor ecx, ecx
jmp 0x426568
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42655e
mov edx, dword [ecx + 0xc]
jmp 0x426560
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
mov esi, dword [eax]
push 0x578
push edx
call dword [0x5262a4]
mov edi, eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [ebp - 0x64], eax
push esi
lea eax, [ebp - 0x64]
push 0x527a0c
push eax
mov dword [ebp - 4], 8
call fcn.0040c740
mov esi, dword [ebp - 0x64]
add esp, 0xc
push esi
push edi
call dword [0x5262b4]
lea eax, [esi - 0x10]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4265e1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx]
mov ecx, 0x55925c
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call eax
mov dword [ebp - 0x4c], 1
xor edi, edi
mov dword [ebp - 4], 9
cmp dword [0x5699f4], edi
jne 0x426683
push 0x68
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xa
cmp esi, edi
je 0x42667b
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 0x10], eax
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
jmp 0x42667d
xor esi, esi
mov dword [0x5699f4], esi
mov edx, dword [vtable.CCriticalSection.0]
mov eax, dword [edx + 4]
mov ecx, 0x55925c
mov dword [ebp - 4], 0xffffffff
call eax
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4266e5
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x4266e5
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x4266d9
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4266e7
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4266e7
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x4266f2
xor ecx, ecx
jmp 0x426708
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x4266fe
mov edx, dword [ecx + 0xc]
jmp 0x426700
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp byte [eax], 0
mov edx, dword [ebp - 0x5c]
sete cl
mov byte [edx + 0x79], cl
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x55925c
mov dword [ebp - 0x54], vtable.CCriticalLock.0
mov dword [ebp - 0x50], ecx
call edx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 4], 0xb
cmp dword [0x5699f4], edi
jne 0x4267b8
push 0x68
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xc
cmp esi, edi
je 0x4267b0
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x10], eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 0x14], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
jmp 0x4267b2
xor esi, esi
mov dword [0x5699f4], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x55925c
mov dword [ebp - 4], 0xffffffff
call edx
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426819
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x426819
mov edx, dword [eax + 0x14]
cmp edx, edi
je 0x42680d
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42681b
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42681b
xor eax, eax
mov esi, dword [eax + 0x20]
cmp esi, edi
jne 0x426826
xor ecx, ecx
jmp 0x42683c
mov ecx, dword [eax + 0x28]
cmp ecx, edi
je 0x426832
mov edx, dword [ecx + 0xc]
jmp 0x426834
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5dd
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [0x5262a4]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4268e2
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4268e2
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4268d6
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x4268e4
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x4268e4
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x4268ef
xor ecx, ecx
jmp 0x426905
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4268fb
mov eax, dword [eax + 0xc]
jmp 0x4268fd
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [eax]
mov edi, dword [ebp - 0x5c]
push 0x579
push ecx
mov ecx, edi
call fcn.00415b90
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426973
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426973
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426967
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426975
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426975
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426980
xor ecx, ecx
jmp 0x426996
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42698c
mov edx, dword [ecx + 0xc]
jmp 0x42698e
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x68]
call eax
cmp byte [eax], 0
sete cl
mov byte [edi + 0x7a], cl
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4269fb
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4269fb
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4269ef
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4269fd
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4269fd
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426a08
xor ecx, ecx
jmp 0x426a1e
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426a14
mov edx, dword [ecx + 0xc]
jmp 0x426a16
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
call eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5de
mov edi, 0x64
sub edi, dword [eax]
push edx
call dword [0x5262a4]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426ac4
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426ac4
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x426ab8
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426ac6
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426ac6
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x426ad1
xor ecx, ecx
jmp 0x426ae7
mov eax, dword [esi + 0x28]
test eax, eax
je 0x426add
mov eax, dword [eax + 0xc]
jmp 0x426adf
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
call eax
mov ecx, dword [eax]
mov edi, dword [ebp - 0x5c]
push 0x57a
push ecx
mov ecx, edi
call fcn.00415b90
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426b55
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426b55
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426b49
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426b57
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426b57
xor eax, eax
cmp byte [eax + 0x85], 0
setne cl
mov byte [edi + 0x7c], cl
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426bb9
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426bb9
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426bad
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426bbb
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426bbb
xor eax, eax
cmp byte [eax + 0x89], 0
sete cl
mov byte [edi + 0x7b], cl
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426c1d
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426c1d
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426c11
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426c1f
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426c1f
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
push 0x5df
mov edi, 0x64
sub edi, dword [eax + 0x8c]
push edx
call dword [0x5262a4]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push edi
push 1
push 0x405
push esi
call ebx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426cc2
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x426cc2
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x426cb6
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x426cc4
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x426cc4
xor esi, esi
mov ecx, dword [esi + 0x8c]
mov edi, dword [ebp - 0x5c]
push 0x57b
push ecx
mov ecx, edi
call fcn.00415b90
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426d2f
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426d2f
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426d23
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426d31
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426d31
xor eax, eax
cmp byte [eax + 0x88], 0
mov edx, dword [edi + 4]
push 0x708
sete cl
push edx
mov byte [edi + 0x7d], cl
call dword [0x5262a4]
push eax
lea ecx, [edi + 0x80]
call fcn.004151e0
test eax, eax
je 0x426d6f
mov eax, dword [edi + 0x84]
push 0x24
push 0
push 0x1036
push eax
call ebx
mov ecx, dword [edi + 4]
push 0x7d0
push ecx
call dword [0x5262a4]
mov ecx, 0x56a4bc
mov dword [edi + 0xa4], eax
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x426dd9
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426dd9
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426dcd
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426ddb
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426ddb
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426de6
xor ecx, ecx
jmp 0x426dfc
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426df2
mov edx, dword [ecx + 0xc]
jmp 0x426df4
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
call eax
test al, al
je 0x427373
mov ecx, dword [edi + 4]
push 0x5e0
push ecx
call dword [0x5262a4]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push 0
push 1
push 0x405
push esi
call ebx
xor eax, eax
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [edi + 0x84]
push edx
push eax
call dword [0x52635c]
mov esi, dword [0x5263a0]
push 2
call esi
push 0x2d
mov edi, eax
call esi
mov ecx, dword [ebp - 0x50]
lea edx, [eax + eax + 0x1e]
xor eax, eax
sub ecx, edx
sub ecx, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
sub ecx, edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x28], 0x527f8c
mov dword [ebp - 0x30], eax
cmp ecx, 0xffffffff
je 0x426ec0
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x34]
push eax
push 0
push 0x101b
push ecx
call ebx
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x84]
push 0x101b
push eax
mov dword [ebp - 0x28], 0x528268
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x2c], 0x1e
call ebx
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0xd
xor edi, edi
lea ecx, [ecx]
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x426f95
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x426f95
mov edx, dword [eax + 0x14]
test edx, edx
je 0x426f89
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x426f97
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x426f97
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x426fa2
xor ecx, ecx
jmp 0x426fb8
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x426fae
mov edx, dword [ecx + 0xc]
jmp 0x426fb0
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x3c]
call eax
push 0
push 0
push 0x1004
cmp edi, eax
jge 0x42725e
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x84]
push edx
call ebx
mov ecx, 0x56a4bc
mov dword [ebp - 0x64], eax
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x427034
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x427034
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427028
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x427036
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x427036
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x427041
xor ecx, ecx
jmp 0x427057
mov eax, dword [esi + 0x28]
test eax, eax
je 0x42704d
mov eax, dword [eax + 0xc]
jmp 0x42704f
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push edi
lea eax, [ebp - 0x7c]
push eax
call edx
push 0x30
mov esi, eax
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00504520
mov ecx, dword [ebp - 0x64]
mov edx, dword [esi]
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x34], edx
mov edx, dword [ecx + 0x84]
push 0x1007
push edx
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x40], 0
call ebx
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4270c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x427119
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x427119
mov edx, dword [eax + 0x14]
test edx, edx
je 0x42710d
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42711b
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42711b
xor eax, eax
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427126
xor esi, esi
jmp 0x42713c
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427132
mov ecx, dword [ecx + 0xc]
jmp 0x427134
xor ecx, ecx
mov esi, dword [eax + 0x24]
imul esi, ecx
add esi, edx
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
mov dword [ebp - 0x48], 0
call fcn.00504520
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
add esp, 0xc
push edi
mov ecx, esi
call edx
xor ecx, ecx
cmp byte [eax], cl
mov eax, dword [ebp - 0x5c]
sete cl
lea edx, [ebp - 0x48]
push edx
push edi
push 0x102b
mov dword [ebp - 0x38], 0xf000
inc ecx
shl ecx, 0xc
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x84]
push ecx
call ebx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x4271dd
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4271dd
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4271d1
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x4271df
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x4271df
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x4271ea
xor ecx, ecx
jmp 0x427200
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4271f6
mov eax, dword [eax + 0xc]
jmp 0x4271f8
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
push edi
call eax
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x60]
push 0x527a0c
push edx
call fcn.0040c740
push 0x30
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00504520
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
add esp, 0x18
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x34], edx
mov edx, dword [ecx + 0x84]
push 0x1006
mov esi, 1
push edx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
call ebx
add edi, esi
jmp 0x426f40
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x84]
push ecx
call ebx
test eax, eax
je 0x42734d
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
mov dword [ebp - 0x48], 0
call fcn.00504520
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi + 0x84]
mov eax, 2
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0x102b
push ecx
call ebx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x427300
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x427300
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4272f4
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x427302
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x427302
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x42730d
xor ecx, ecx
jmp 0x427323
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427319
mov eax, dword [eax + 0xc]
jmp 0x42731b
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
push 0
call eax
mov ecx, dword [edi + 4]
push 0x5e0
mov esi, 0x64
sub esi, dword [eax]
push ecx
call dword [0x5262a4]
push esi
push 1
push 0x405
push eax
call ebx
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427373
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4273c8
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4273c8
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4273bc
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4273ca
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4273ca
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x4273d5
xor ecx, ecx
jmp 0x4273eb
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4273e1
mov edx, dword [ecx + 0xc]
jmp 0x4273e3
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x70]
call eax
test al, al
je 0x428087
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi + 4]
push 0x5e1
push ecx
call dword [0x5262a4]
push 0
push 0
mov esi, eax
push 0x407
push esi
call ebx
push 0x64
push 0
push 0x408
push esi
call ebx
push 0
push 0x14
push 0x414
push esi
call ebx
push 0
push 1
push 0x405
push esi
call ebx
mov edx, dword [edi + 0xa4]
add edi, 0xa4
push 0xfffffffffffffff0
push edx
call dword [0x5263b4]
mov ecx, eax
or ecx, 0x100
cmp eax, ecx
je 0x42746b
mov eax, dword [edi]
push ecx
push 0xfffffffffffffff0
push eax
call dword [0x5263cc]
mov ecx, dword [0x56a604]
push 0
push 0
push 0xff00ff
push 0
push 0xd
push 0xcd
push ecx
call dword [0x52602c]
push 2
push eax
lea edx, [ebp - 0x88]
push edx
mov ecx, edi
call fcn.004154b0
push 0xffff0002
push 0xffff0000
push 0x528258
lea eax, [ebp - 0x84]
push eax
mov ecx, edi
call fcn.00415440
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x42750d
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x42750d
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427501
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x42750f
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x42750f
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x42751a
xor ecx, ecx
jmp 0x427530
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427526
mov eax, dword [eax + 0xc]
jmp 0x427528
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
call eax
mov edx, dword [ebp - 0x84]
xor ecx, ecx
cmp byte [eax], cl
setne cl
push ecx
push edx
mov ecx, edi
call fcn.00415170
mov esi, dword [ebp - 0x5c]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
cmp ecx, eax
je 0x427580
mov edx, dword [ebp - 0x68]
push edx
push ecx
push eax
push eax
call fcn.004f59a0
mov ecx, dword [ebp - 0x68]
push ecx
mov edi, eax
mov eax, dword [esi + 0x5c]
lea edx, [esi + 0x64]
push edx
push eax
push edi
call fcn.0048cd80
add esp, 0x20
mov dword [esi + 0x5c], edi
push 0x10
call fcn.00503a77
mov edi, eax
add esp, 4
test edi, edi
je 0x4275bc
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [edi + 4], eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [edi + 8], eax
jmp 0x4275be
xor edi, edi
push 1
push edi
lea ecx, [ebp - 0x54]
call fcn.00415940
lea eax, [ebp - 0x54]
push eax
lea ecx, [esi + 0x58]
mov dword [ebp - 4], 0xe
call fcn.00412f10
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x427608
dec dword [esi + 4]
jne 0x427608
cmp byte [esi + 8], 0
je 0x4275fd
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
xor edi, edi
mov dword [ebp - 0x60], edi
lea ecx, [ecx]
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x427665
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x427665
mov edx, dword [eax + 0x14]
test edx, edx
je 0x427659
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x427667
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x427667
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x427672
xor ecx, ecx
jmp 0x427688
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42767e
mov edx, dword [ecx + 0xc]
jmp 0x427680
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
cmp edi, eax
jge 0x428064
mov ecx, 0x56a4bc
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 1
jbe 0x4276ec
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4276ec
mov edx, dword [eax + 0x14]
test edx, edx
je 0x4276e0
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4276ee
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4276ee
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x4276f9
xor ecx, ecx
jmp 0x42770f
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427705
mov edx, dword [ecx + 0xc]
jmp 0x427707
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
push edi
lea eax, [ebp - 0x64]
push eax
call edx
mov ecx, 0x56a4bc
mov dword [ebp - 4], 0xf
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x42777a
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42777a
mov edx, dword [eax + 0x14]
test edx, edx
je 0x42776e
mov eax, dword [eax + 0x10]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x42777c
mov eax, dword [eax + 0x10]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x42777c
xor eax, eax
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x427787
xor ecx, ecx
jmp 0x42779d
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427793
mov edx, dword [ecx + 0xc]
jmp 0x427795
xor edx, edx
mov ecx, dword [eax + 0x24]
imul ecx, edx
add ecx, esi
mov edx, dword [ecx]
mov eax, dword [edx + 0x84]
push edi
call eax
cmp byte [eax], 0
jne 0x4277bc
push 6
push 0x528250
lea ecx, [ebp - 0x64]
call fcn.004049b0
lea ecx, [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x5c]
lea edx, [ebp - 0x7c]
push edx
call fcn.0041ba90
push 0x30
lea eax, [ebp - 0x44]
push 0
push eax
mov byte [ebp - 4], 0x10
call fcn.00504520
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
push 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 0xffff0002
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], edx
mov ecx, dword [esi]
push 0x1100
push ecx
call ebx
mov edi, eax
mov ecx, 0x56a4bc
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jbe 0x427873
mov esi, dword [esi + 0x30]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x427873
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x427867
mov esi, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
imul esi, ecx
add esi, eax
jmp 0x427875
mov esi, dword [esi + 0x10]
xor ecx, ecx
imul esi, ecx
add esi, eax
jmp 0x427875
xor esi, esi
mov edx, dword [esi + 0x20]
test edx, edx
jne 0x427880
xor ecx, ecx
jmp 0x427896
mov eax, dword [esi + 0x28]
test eax, eax
je 0x42788c
mov eax, dword [eax + 0xc]
jmp 0x42788e
xor eax, eax
mov ecx, dword [esi + 0x24]
imul ecx, eax
add ecx, edx
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x60]
mov eax, dword [edx + 0x7c]
push ebx
call eax
mov ecx, dword [ebp - 0x5c]
xor edx, edx
add ecx, 0xa4
cmp byte [eax], dl
setne dl
push edx
push edi
call fcn.00415170
push 0x10
mov byte [ebp - 4], 0x11
call fcn.00503a77
mov esi, eax
add esp, 4
test esi, esi
je 0x4278f8
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 4], eax
mov eax, dword [0x5684f8]
mov edx, dword [eax + 0xc]
mov ecx, 0x5684f8
call edx
add eax, 0x10
mov dword [esi + 8], eax
jmp 0x4278fa
xor esi, esi
push 1
push esi
lea ecx, [ebp - 0x54]
call fcn.00415940
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x12
test edx, edx
jne 0x427914
xor eax, eax
jmp 0x42792a
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427920
mov ecx, dword [eax + 0xc]
jmp 0x427922
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, edx
mov dword [eax], ebx
mov edx, dword [ebp - 0x54]
test edx, edx
jne 0x427937
xor eax, eax
jmp 0x42794d
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427943
mov ecx, dword [eax + 0xc]
jmp 0x427945
xor ecx, ecx
mov eax, dword [ebp - 0x50]
imul eax, ecx
add eax, edx
push 4
push 0x527ebc
lea ecx, [eax + 8]
call fcn.004049b0
mov ecx, 0x56a4bc
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x42797e
xor ecx, ecx
jmp 0x427994
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42798a
mov esi, dword [ecx + 0xc]
jmp 0x42798c
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov ebx, dword [ebp - 0x54]
test ebx, ebx
jne 0x4279a1
xor esi, esi
xor eax, eax
jmp 0x4279d3
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x4279b7
mov eax, dword [ebp - 0x50]
mov edx, dword [edi + 0xc]
mov esi, eax
imul esi, edx
add esi, ebx
jmp 0x4279c3
mov eax, dword [ebp - 0x50]
xor edx, edx
mov esi, eax
imul esi, edx
add esi, ebx
test edi, edi
je 0x4279cc
mov edx, dword [edi + 0xc]
jmp 0x4279ce
xor edx, edx
imul eax, edx
add eax, ebx
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov ebx, dword [ebp - 0x60]
push eax
mov eax, dword [edx + 0x8c]
push ebx
call eax
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427a0c
xor ecx, ecx
jmp 0x427a22
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427a18
mov esi, dword [ecx + 0xc]
jmp 0x427a1a
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x427a2d
xor eax, eax
jmp 0x427a43
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427a39
mov edx, dword [eax + 0xc]
jmp 0x427a3b
xor edx, edx
mov eax, dword [ebp - 0x50]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
push eax
push ebx
lea eax, [ebp - 0x88]
push eax
call edx
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x13
test edx, edx
jne 0x427a68
xor ecx, ecx
jmp 0x427a7c
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x427a74
mov ecx, dword [ecx + 0xc]
jmp 0x427a76
xor ecx, ecx
imul ecx, dword [ebp - 0x50]
add ecx, edx
add ecx, 4
push eax
call fcn.00409050
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x427aab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
mov esi, dword [ebp - 0x54]
mov byte [ebp - 4], 0x14
test esi, esi
jne 0x427ad2
xor eax, eax
xor ecx, ecx
jmp 0x427b04
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x427ae8
mov ecx, dword [ebp - 0x50]
mov edx, dword [edi + 0xc]
mov eax, ecx
imul eax, edx
add eax, esi
jmp 0x427af4
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, ecx
imul eax, edx
add eax, esi
test edi, edi
je 0x427afd
mov edx, dword [edi + 0xc]
jmp 0x427aff
xor edx, edx
imul ecx, edx
add ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
push edx
push eax
lea ecx, [ebp - 0x78]
push 0x527ea8
push ecx
call fcn.0040c740
add esp, 0x10
push 0x30
lea edx, [ebp - 0x44]
push 0
push edx
call fcn.00504520
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x78]
add esp, 0xc
lea edx, [ebp - 0x48]
push edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x80]
push 0
mov dword [ebp - 0x44], 0xffff0002
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax]
push 0x1100
push ecx
call dword [0x526384]
mov ecx, 0x56a4bc
mov edi, eax
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427b85
xor ecx, ecx
jmp 0x427b9b
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427b91
mov esi, dword [ecx + 0xc]
jmp 0x427b93
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x427ba6
xor eax, eax
jmp 0x427bbc
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x427bb2
mov edx, dword [eax + 0xc]
jmp 0x427bb4
xor edx, edx
mov eax, dword [ebp - 0x50]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x90]
push ebx
call eax
mov esi, dword [ebp - 0x5c]
xor ecx, ecx
cmp byte [eax], cl
sete cl
push ecx
push edi
lea ecx, [esi + 0xa4]
call fcn.00415170
lea edx, [ebp - 0x54]
push edx
lea ecx, [esi + 0x58]
call fcn.00412f10
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax - 1]
push ecx
push edi
lea ecx, [esi + 0xa4]
call fcn.00415110
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427c36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c]
xor esi, esi
mov byte [ebp - 4], 0x11
cmp eax, esi
je 0x427c6f
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], esi
jne 0x427c69
cmp byte [ecx + 8], 0
je 0x427c59
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, esi
je 0x427c69
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 4], 0x10
push 0x10
mov byte [ebp - 4], 0x16
call fcn.00503a77
mov esi, eax
add esp, 4
test esi, esi
je 0x427cc5
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 4], eax
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 8], eax
jmp 0x427cc7
xor esi, esi
push 1
push esi
lea ecx, [ebp - 0x74]
call fcn.00415940
mov edx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x17
test edx, edx
jne 0x427ce1
xor eax, eax
jmp 0x427cf7
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427ced
mov ecx, dword [eax + 0xc]
jmp 0x427cef
xor ecx, ecx
mov eax, dword [ebp - 0x70]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov edx, dword [ebp - 0x74]
test edx, edx
jne 0x427d07
xor eax, eax
jmp 0x427d1d
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427d13
mov ecx, dword [eax + 0xc]
jmp 0x427d15
xor ecx, ecx
mov eax, dword [ebp - 0x70]
imul eax, ecx
add eax, edx
push 0xa
push 0x528244
lea ecx, [eax + 8]
call fcn.004049b0
mov ecx, 0x56a4bc
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427d4e
xor ecx, ecx
jmp 0x427d64
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427d5a
mov esi, dword [ecx + 0xc]
jmp 0x427d5c
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov ebx, dword [ebp - 0x74]
test ebx, ebx
jne 0x427d71
xor esi, esi
xor eax, eax
jmp 0x427da3
mov edi, dword [ebp - 0x6c]
test edi, edi
je 0x427d87
mov eax, dword [ebp - 0x70]
mov edx, dword [edi + 0xc]
mov esi, eax
imul esi, edx
add esi, ebx
jmp 0x427d93
mov eax, dword [ebp - 0x70]
xor edx, edx
mov esi, eax
imul esi, edx
add esi, ebx
test edi, edi
je 0x427d9c
mov edx, dword [edi + 0xc]
jmp 0x427d9e
xor edx, edx
imul eax, edx
add eax, ebx
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edi, dword [ebp - 0x60]
push eax
mov eax, dword [edx + 0x8c]
push edi
call eax
mov ecx, dword [eax]
mov dword [esi + 0xc], ecx
mov ecx, 0x56a4bc
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427ddc
xor ecx, ecx
jmp 0x427df2
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427de8
mov esi, dword [ecx + 0xc]
jmp 0x427dea
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov esi, dword [ebp - 0x74]
test esi, esi
jne 0x427dfd
xor eax, eax
jmp 0x427e13
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x427e09
mov edx, dword [eax + 0xc]
jmp 0x427e0b
xor edx, edx
mov eax, dword [ebp - 0x70]
imul eax, edx
add eax, esi
mov eax, dword [eax + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
push eax
push edi
lea eax, [ebp - 0x68]
push eax
call edx
mov esi, dword [ebp - 0x74]
mov byte [ebp - 4], 0x18
test esi, esi
jne 0x427e35
xor ecx, ecx
jmp 0x427e4b
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x427e41
mov edx, dword [ecx + 0xc]
jmp 0x427e43
xor edx, edx
mov ecx, dword [ebp - 0x70]
imul ecx, edx
add ecx, esi
add ecx, 4
push eax
call fcn.00409050
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x427e77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
mov esi, dword [ebp - 0x74]
mov byte [ebp - 4], 0x19
test esi, esi
jne 0x427e9e
xor eax, eax
xor ecx, ecx
jmp 0x427ed0
mov edi, dword [ebp - 0x6c]
test edi, edi
je 0x427eb4
mov ecx, dword [ebp - 0x70]
mov edx, dword [edi + 0xc]
mov eax, ecx
imul eax, edx
add eax, esi
jmp 0x427ec0
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, ecx
imul eax, edx
add eax, esi
test edi, edi
je 0x427ec9
mov edx, dword [edi + 0xc]
jmp 0x427ecb
xor edx, edx
imul ecx, edx
add ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
push edx
push eax
lea ecx, [ebp - 0x78]
push 0x527ea8
push ecx
call fcn.0040c740
mov edx, dword [ebp - 0x78]
add esp, 0x10
push 0xffffffffffffffff
push edx
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x90]
call fcn.004154e0
mov ecx, 0x56a4bc
call fcn.00416ad0
mov ecx, dword [0x5699f4]
push 1
call fcn.00404910
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x427f23
xor ecx, ecx
jmp 0x427f39
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x427f2f
mov esi, dword [ecx + 0xc]
jmp 0x427f31
xor esi, esi
mov ecx, dword [eax + 0x24]
imul ecx, esi
add ecx, edx
mov edx, dword [ecx]
mov eax, dword [ebp - 0x60]
mov edx, dword [edx + 0x90]
push 0x528244
push eax
call edx
mov esi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x98]
xor ecx, ecx
cmp byte [eax], cl
sete cl
push ecx
push ebx
lea ecx, [esi + 0xa4]
call fcn.00415170
lea edx, [ebp - 0x74]
push edx
lea ecx, [esi + 0x58]
call fcn.00412f10
mov ecx, dword [esi + 0x5c]
sub ecx, dword [esi + 0x58]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax - 1]
push ecx
push ebx
lea ecx, [esi + 0xa4]
call fcn.00415110
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x17
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x427fbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x6c]
xor esi, esi
mov byte [ebp - 4], 0x16
cmp eax, esi
je 0x427ff6
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], esi
jne 0x427ff0
cmp byte [ecx + 8], 0
je 0x427fe0
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, esi
je 0x427ff0
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428020
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428046
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebp - 0x60]
mov edi, dword [ebp - 0x60]
mov ebx, dword [0x526384]
jmp 0x427610
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
mov ecx, dword [esi]
push edi
push 2
push 0x1102
push ecx
call ebx
mov edx, dword [esi]
push edi
push 9
push 0x110b
push edx
call ebx
mov ebx, dword [ebp - 0x5c]
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.00415560
mov ecx, dword [ebx + 4]
xor eax, eax
cmp byte [ebx + 0x78], al
push 0x5dc
setne al
push ecx
mov esi, eax
call dword [0x5262a4]
mov edi, dword [0x52629c]
push esi
push eax
call edi
mov edx, dword [ebx + 4]
push 0x578
push edx
call dword [0x5262a4]
push esi
push eax
call edi
mov ecx, ebx
call fcn.00415260
mov ecx, ebx
call fcn.00414f40
mov ecx, ebx
call fcn.00414fa0
mov ecx, ebx
call fcn.0041c560
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00503edb
mov esp, ebp
pop ebp
ret 0x10