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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e92fc
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x51e584]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov edi, ecx
push 0xffffffffffffffff
mov dword [ebp - 0x100], 0
mov eax, dword [ebx + 8]
push 0
lea esi, [edi + 0x20]
push eax
mov ecx, esi
mov dword [ebp - 0xfc], edi
call 0xff7b860
cmp dword [esi + 0x14], 0x10
mov eax, dword [edi + 4]
jb 0x10029dc8
mov ecx, dword [esi]
mov dword [ebp - 0xf4], ecx
jmp 0x10029dce
mov dword [ebp - 0xf4], esi
lea esi, [eax + 0xd4]
lea edx, [ebp - 0xf4]
push edx
lea eax, [ebp - 0x108]
push eax
mov ecx, esi
call fcn.10014c70
mov esi, dword [esi + 4]
mov eax, dword [ebp - 0x108]
cmp eax, esi
je 0x10029ec7
mov edi, dword [eax + 0xc]
test edi, edi
je 0x10029ec7
lea ecx, [ebp - 0xf0]
call 0x1003ccd0
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, edi
mov dword [ebp - 4], 0
call 0x1001d8a0
lea edx, [ebp - 0x48]
push edx
mov ecx, ebx
call fcn.10014640
mov esi, eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 1
call fcn.10014640
cmp dword [esi + 0x14], 0x10
mov ecx, dword [esi + 0x10]
mov byte [ebp - 4], 2
jb 0x10029e54
mov esi, dword [esi]
push ecx
mov ecx, dword [eax + 0x10]
push esi
push ecx
push 0
mov ecx, eax
call 0xff854b0
test eax, eax
mov esi, 0x10
sete byte [ebp - 0xf5]
cmp dword [ebp - 0x18], esi
jb 0x10029e82
mov edx, dword [ebp - 0x2c]
push edx
call 0xfffa574
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x34], esi
jb 0x10029ea5
mov eax, dword [ebp - 0x48]
push eax
call 0xfffa574
add esp, 4
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call 0x100403f0
cmp byte [ebp - 0xf5], 0
je 0x10029ec7
mov eax, edi
jmp 0x1002a28c
mov ecx, dword [ebp - 0xfc]
mov edi, dword [ecx + 4]
mov ecx, dword [edi + 4]
sub ecx, dword [edi]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor esi, esi
add eax, edx
mov dword [ebp - 0x100], edi
je 0x10029fc0
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x10]
mov ecx, dword [edi]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x108], esi
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x104]
cmp dword [ebp - 0x110], 0x10
jb 0x10029f35
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
jmp 0x10029f38
mov edx, dword [ebx + 8]
mov edi, dword [eax + 0x10]
mov ecx, edi
cmp ecx, edi
jae 0x10029f41
mov ecx, dword [ebp - 0xf4]
cmp edi, ecx
jae 0x10029f4d
mov ecx, edi
cmp dword [eax + 0x14], 0x10
jb 0x10029f55
mov eax, dword [eax]
push ecx
push edx
push eax
call 0xff7b390
add esp, 0xc
test eax, eax
jne 0x10029f7e
mov eax, dword [ebp - 0xf4]
cmp edi, eax
jae 0x10029f73
or eax, 0xffffffff
jmp 0x10029f7c
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
test eax, eax
sete al
test al, al
jne 0x1002a19d
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
add dword [ebp - 0x108], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
cmp esi, eax
jb 0x10029f19
mov edi, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
cmp dword [eax + 4], 0
je 0x1002a0a8
mov eax, dword [ebx + 8]
push eax
mov ecx, edi
call 0xff97bc0
xor esi, esi
cmp dword [ebx + 0x14], esi
jle 0x1002a070
jmp 0x10029ff0
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + esi*4]
cmp dword [eax + 0x14], 0x10
mov edx, dword [ebp - 0xfc]
mov ecx, dword [edx + 4]
jb 0x1002a007
mov eax, dword [eax]
lea edi, [ecx + 0xd4]
lea ecx, [ebp - 0xf4]
push ecx
lea edx, [ebp - 0x100]
push edx
mov ecx, edi
mov dword [ebp - 0xf4], eax
call fcn.10014c70
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x100]
cmp eax, edi
je 0x1002a03b
cmp dword [eax + 0xc], 0
jne 0x1002a06a
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi]
cmp dword [eax + 0xc], 0
je 0x1002a05c
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + esi*4]
push ecx
mov ecx, dword [eax + 0xc]
call fcn.10024da0
test eax, eax
jne 0x1002a06a
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + esi*4]
mov ecx, dword [edi]
push eax
call 0x10021ae0
inc esi
cmp esi, dword [ebx + 0x14]
jl 0x10029ff0
mov eax, dword [ebp - 0xfc]
mov edi, dword [eax + 4]
mov esi, dword [edi + 4]
cmp dword [edi], esi
je 0x1002a0a8
cmp dword [esi - 8], 0x10
jb 0x1002a092
mov eax, dword [esi - 0x1c]
push eax
call 0xfffa574
add esp, 4
mov dword [esi - 8], 0xf
mov dword [esi - 0xc], 0
mov byte [esi - 0x1c], 0
add dword [edi + 4], 0xffffffe4
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x6c]
sub edx, dword [eax + 0x68]
mov ecx, dword [eax + 0x7c]
sub ecx, dword [eax + 0x78]
sar edx, 2
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x8c]
sub edx, dword [eax + 0x88]
sar ecx, 2
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x9c]
sub ecx, dword [eax + 0x98]
sar edx, 2
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 0x124]
sub edx, dword [eax + 0x120]
sar ecx, 2
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x134]
sub ecx, dword [eax + 0x130]
sar edx, 2
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0x144]
sub edx, dword [eax + 0x140]
sar ecx, 2
lea edi, [eax + 0x110]
mov dword [ebp - 0x34], ecx
mov ecx, dword [edi + 4]
sar edx, 3
lea eax, [ebp - 0x48]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xf4], edi
cmp eax, ecx
jae 0x1002a308
mov eax, dword [edi]
lea edx, [ebp - 0x48]
cmp eax, edx
ja 0x1002a308
mov esi, edx
sub esi, eax
mov eax, 0x92492493
imul esi
add edx, esi
mov esi, dword [edi + 8]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x100], eax
cmp ecx, esi
jne 0x1002a2e7
sub ecx, dword [edi]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x9249248
jbe 0x1002a2aa
push 0x50d21c
call fcn.10012e95
push 0x21
push 0x504abc
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call 0xff7b670
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 4], 3
cmp esi, eax
jae 0x1002a252
lea edi, [esi*8]
sub edi, esi
add edi, edi
add edi, edi
jmp 0x1002a200
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
push 0xffffffffffffffff
push 0
add eax, edi
push eax
lea ecx, [ebp - 0x48]
call 0xff7cf10
push 4
push 0x504ab4
lea ecx, [ebp - 0x48]
call 0xff7cca0
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add edi, 0x1c
cmp esi, eax
jb 0x1002a200
mov ecx, dword [ebx + 8]
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [ebp - 0x48]
call 0xff7cf10
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xfc]
lea edx, [ebp - 0x48]
push edx
push 9
push ebx
push eax
call fcn.10015eb0
cmp dword [ebp - 0x34], 0x10
jb 0x1002a28a
mov ecx, dword [ebp - 0x48]
push ecx
call 0xfffa574
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call 0xfffa1c9
mov esp, ebp
pop ebp
ret 4
sub esi, dword [edi]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x1002a2e7
mov edx, eax
shr edx, 1
mov esi, 0x9249249
sub esi, edx
cmp esi, eax
jae 0x1002a2d7
xor eax, eax
jmp 0x1002a2d9
add eax, edx
cmp eax, ecx
jae 0x1002a2df
mov eax, ecx
push eax
mov ecx, edi
call fcn.10018c30
mov eax, dword [ebp - 0x100]
mov edx, dword [edi]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edi + 4]
lea esi, [edx + ecx*4]
test eax, eax
je 0x1002a38c
jmp 0x1002a37d
mov esi, dword [edi + 8]
cmp ecx, esi
jne 0x1002a373
sub ecx, dword [edi]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x9249248
jbe 0x1002a336
push 0x50d21c
call fcn.10012e95
sub esi, dword [edi]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x1002a373
mov edx, eax
shr edx, 1
mov esi, 0x9249249
sub esi, edx
cmp esi, eax
jae 0x1002a363
xor eax, eax
jmp 0x1002a365
add eax, edx
cmp eax, ecx
jae 0x1002a36b
mov eax, ecx
push eax
mov ecx, edi
call fcn.10018c30
mov eax, dword [edi + 4]
test eax, eax
je 0x1002a38c
lea esi, [ebp - 0x48]
mov ecx, 7
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xfc]
add dword [edi + 4], 0x1c
mov esi, dword [eax + 4]
push 0x50
call 0xfffa5d0
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0x9c]
lea ecx, [ebp - 0x104]
add esp, 4
cmp ecx, eax
jae 0x1002a444
mov edx, dword [esi + 0x98]
cmp edx, ecx
ja 0x1002a444
mov edi, ecx
mov ecx, dword [esi + 0xa0]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x1002a42b
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a3ee
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
mov dword [ebp - 0x100], eax
cmp eax, ecx
jbe 0x1002a42b
mov eax, ecx
shr eax, 1
mov edx, 0x3fffffff
sub edx, eax
cmp edx, ecx
jae 0x1002a411
xor ecx, ecx
jmp 0x1002a413
add ecx, eax
mov eax, dword [ebp - 0x100]
cmp ecx, eax
jae 0x1002a41f
mov ecx, eax
push ecx
lea ecx, [esi + 0x98]
call fcn.10013490
mov eax, dword [esi + 0x98]
lea edi, [eax + edi*4]
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x1002a4ad
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x1002a4ad
mov ecx, dword [esi + 0xa0]
cmp eax, ecx
jne 0x1002a49b
mov edx, dword [esi + 0x98]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a46a
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a49b
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a487
xor ecx, ecx
jmp 0x1002a489
add ecx, edx
cmp ecx, eax
jae 0x1002a48f
mov ecx, eax
push ecx
lea ecx, [esi + 0x98]
call fcn.10013490
mov eax, dword [esi + 0x9c]
test eax, eax
je 0x1002a4ad
mov edx, dword [ebp - 0x104]
mov dword [eax], edx
add dword [esi + 0x9c], 4
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebx + 0x84]
shr edx, 0xa
test dl, 1
je 0x1002a627
mov eax, ecx
mov esi, dword [eax + 4]
push 0x20
call 0xfffa5d0
add esp, 4
mov dword [ebp - 0x100], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x1002a4fe
mov ecx, eax
call 0x1003f9a0
jmp 0x1002a500
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x108], eax
mov eax, dword [esi + 0x7c]
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
cmp ecx, eax
jae 0x1002a59b
mov edi, dword [esi + 0x78]
mov edx, ecx
cmp edi, edx
ja 0x1002a59b
mov ecx, dword [esi + 0x80]
sub edx, edi
sar edx, 2
mov dword [ebp - 0x100], edx
cmp eax, ecx
jne 0x1002a588
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a554
push 0x50d21c
call fcn.10012e95
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a588
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a571
xor ecx, ecx
jmp 0x1002a573
add ecx, edx
cmp ecx, eax
jae 0x1002a579
mov ecx, eax
push ecx
lea ecx, [esi + 0x78]
call fcn.10013490
mov edx, dword [ebp - 0x100]
mov eax, dword [esi + 0x78]
lea edx, [eax + edx*4]
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x1002a5fb
mov ecx, dword [edx]
mov dword [eax], ecx
jmp 0x1002a5fb
mov ecx, dword [esi + 0x80]
cmp eax, ecx
jne 0x1002a5ec
mov edx, dword [esi + 0x78]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a5be
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a5ec
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a5db
xor ecx, ecx
jmp 0x1002a5dd
add ecx, edx
cmp ecx, eax
jae 0x1002a5e3
mov ecx, eax
push ecx
lea ecx, [esi + 0x78]
call fcn.10013490
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x1002a5fb
mov edx, dword [ebp - 0xf4]
mov dword [eax], edx
add dword [esi + 0x7c], 4
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x1002a60e
mov eax, dword [0x526094]
mov eax, dword [eax + 0x7c]
mov esi, dword [ebp - 0xf4]
push eax
mov ecx, esi
call 0x10048e30
mov ecx, dword [ebp - 0x104]
mov dword [ecx + 0x4c], esi
jmp 0x1002a635
call 0x1003b370
mov edx, dword [ebp - 0x104]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0xfc]
mov edi, dword [eax + 4]
push 0xdc
call 0xfffa5d0
mov esi, eax
add esp, 4
mov dword [ebp - 0x100], esi
mov dword [ebp - 4], 8
test esi, esi
je 0x1002a6ed
lea ecx, [ebp - 0xf5]
push ecx
lea edx, [ebp - 0xf5]
push edx
mov ecx, esi
call 0x1001eed0
lea eax, [ebp - 0xf5]
push eax
lea edx, [ebp - 0xf5]
lea ecx, [esi + 0x2c]
push edx
mov byte [ebp - 4], 9
call 0x1001efc0
lea eax, [ebp - 0xf5]
push eax
lea edx, [ebp - 0xf5]
lea ecx, [esi + 0x58]
push edx
mov byte [ebp - 4], 0xa
call 0x1001efc0
lea eax, [ebp - 0xf5]
push eax
lea edx, [ebp - 0xf5]
lea ecx, [esi + 0x84]
push edx
mov byte [ebp - 4], 0xb
call 0x1001efc0
lea eax, [ebp - 0xf5]
push eax
lea edx, [ebp - 0xf5]
lea ecx, [esi + 0xb0]
push edx
mov byte [ebp - 4], 0xc
call 0x1001efc0
mov dword [ebp - 0x108], esi
jmp 0x1002a6f7
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
lea esi, [edi + 0x88]
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0xffffffff
cmp ecx, eax
jae 0x1002a792
mov edi, dword [esi]
mov edx, ecx
cmp edi, edx
ja 0x1002a792
mov ecx, dword [esi + 8]
sub edx, edi
sar edx, 2
mov dword [ebp - 0x100], edx
cmp eax, ecx
jne 0x1002a780
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a74d
push 0x50d21c
call fcn.10012e95
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a780
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a76a
xor ecx, ecx
jmp 0x1002a76c
add ecx, edx
cmp ecx, eax
jae 0x1002a772
mov ecx, eax
push ecx
mov ecx, esi
call fcn.10013490
mov edx, dword [ebp - 0x100]
mov eax, dword [esi]
lea edx, [eax + edx*4]
mov eax, dword [esi + 4]
test eax, eax
je 0x1002a7ed
mov ecx, dword [edx]
mov dword [eax], ecx
jmp 0x1002a7ed
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x1002a7de
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a7b1
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a7de
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a7ce
xor ecx, ecx
jmp 0x1002a7d0
add ecx, edx
cmp ecx, eax
jae 0x1002a7d6
mov ecx, eax
push ecx
mov ecx, esi
call fcn.10013490
mov eax, dword [esi + 4]
test eax, eax
je 0x1002a7ed
mov edx, dword [ebp - 0x108]
mov dword [eax], edx
add dword [esi + 4], 4
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + 0x40], eax
mov ecx, dword [ecx + 0x3c]
mov dword [ecx + 0x48], eax
test byte [ebx + 0x84], 1
mov edi, 0xf
jne 0x1002a8a1
push 0x28
xor esi, esi
push 0x504a88
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call 0xff7b670
push esi
push 0x50d38d
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x48], 0
call 0xff7b670
mov ecx, dword [ebp - 0xfc]
lea edx, [ebp - 0x2c]
push edx
push 9
push ebx
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xe
call fcn.10015eb0
cmp dword [ebp - 0x34], 0x10
jb 0x1002a87e
mov ecx, dword [ebp - 0x48]
push ecx
call 0xfffa574
add esp, 4
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x48], 0
mov dword [ebp - 4], 0xffffffff
jb 0x1002a8a1
mov edx, dword [ebp - 0x2c]
push edx
call 0xfffa574
add esp, 4
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + 4]
push 0x1c
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x110], edx
call 0xfffa5d0
mov esi, eax
add esp, 4
mov dword [ebp - 0xf4], esi
mov dword [ebp - 4], edi
test esi, esi
je 0x1002a8f3
mov eax, dword [ebp - 0x100]
push 0xffffffffffffffff
push 0
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
push eax
mov ecx, esi
mov byte [esi], 0
call 0xff7b860
jmp 0x1002a8f5
xor esi, esi
mov dword [ebp - 0x108], esi
mov dword [ebp - 0xf4], esi
mov esi, dword [ebp - 0x110]
mov eax, dword [esi + 0x6c]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0xffffffff
cmp ecx, eax
jae 0x1002a999
mov edi, dword [esi + 0x68]
mov edx, ecx
cmp edi, edx
ja 0x1002a999
mov ecx, dword [esi + 0x70]
sub edx, edi
sar edx, 2
mov dword [ebp - 0x100], edx
cmp eax, ecx
jne 0x1002a980
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a94c
push 0x50d21c
call fcn.10012e95
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a980
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a969
xor ecx, ecx
jmp 0x1002a96b
add ecx, edx
cmp ecx, eax
jae 0x1002a971
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.10013490
mov edx, dword [ebp - 0x100]
mov eax, dword [esi + 0x68]
mov edi, dword [ebp - 0xfc]
lea edx, [eax + edx*4]
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x1002a9fc
mov ecx, dword [edx]
mov dword [eax], ecx
jmp 0x1002a9fc
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jne 0x1002a9e7
mov edx, dword [esi + 0x68]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002a9b9
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002a9e7
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002a9d6
xor ecx, ecx
jmp 0x1002a9d8
add ecx, edx
cmp ecx, eax
jae 0x1002a9de
mov ecx, eax
push ecx
lea ecx, [esi + 0x68]
call fcn.10013490
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x1002a9f6
mov edx, dword [ebp - 0x108]
mov dword [eax], edx
mov edi, dword [ebp - 0xfc]
add dword [esi + 0x6c], 4
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
mov edx, dword [ebx + 0x84]
shr edx, 1
test dl, 1
je 0x1002ab8d
mov eax, dword [ebx + 0xc]
mov edi, dword [edi + 4]
push 0x1c
mov dword [ebp - 0x100], eax
call 0xfffa5d0
mov esi, eax
add esp, 4
mov dword [ebp - 0x110], esi
mov dword [ebp - 4], 0x10
test esi, esi
je 0x1002aa73
mov ecx, dword [ebp - 0x100]
push 0xffffffffffffffff
push 0
push ecx
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov ecx, esi
mov byte [esi], 0
call 0xff7b860
mov dword [ebp - 0x108], esi
jmp 0x1002aa7d
mov dword [ebp - 0x108], 0
mov eax, dword [edi + 0x6c]
mov edx, dword [ebp - 0x108]
lea esi, [edi + 0x68]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xf4], edx
cmp ecx, eax
jae 0x1002ab15
mov edi, dword [esi]
mov edx, ecx
cmp edi, edx
ja 0x1002ab15
mov ecx, dword [esi + 8]
sub edx, edi
sar edx, 2
mov dword [ebp - 0x100], edx
cmp eax, ecx
jne 0x1002ab03
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002aad0
push 0x50d21c
call fcn.10012e95
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002ab03
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002aaed
xor ecx, ecx
jmp 0x1002aaef
add ecx, edx
cmp ecx, eax
jae 0x1002aaf5
mov ecx, eax
push ecx
mov ecx, esi
call fcn.10013490
mov edx, dword [ebp - 0x100]
mov eax, dword [esi]
lea edx, [eax + edx*4]
mov eax, dword [esi + 4]
test eax, eax
je 0x1002ab70
mov ecx, dword [edx]
mov dword [eax], ecx
jmp 0x1002ab70
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x1002ab61
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
jbe 0x1002ab34
push 0x50d21c
call fcn.10012e95
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x1002ab61
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x1002ab51
xor ecx, ecx
jmp 0x1002ab53
add ecx, edx
cmp ecx, eax
jae 0x1002ab59
mov ecx, eax
push ecx
mov ecx, esi
call fcn.10013490
mov eax, dword [esi + 4]
test eax, eax
je 0x1002ab70
mov edx, dword [ebp - 0x108]
mov dword [eax], edx
mov ecx, dword [ebp - 0x104]
add dword [esi + 4], 4
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xfc]
mov dword [ecx + 4], eax
mov esi, ecx
jmp 0x1002abe3
push 0
push 0x50d38d
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call 0xff7b670
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 4], 0x11
call fcn.10019360
cmp dword [ebp - 0x18], 0x10
mov esi, dword [ebp - 0x104]
mov dword [esi + 4], eax
mov dword [ebp - 4], 0xffffffff
jb 0x1002abe3
mov eax, dword [ebp - 0x2c]
push eax
call 0xfffa574
add esp, 4
mov ecx, dword [edi]
mov dword [esi + 8], ecx
mov ecx, dword [edi + 4]
push esi
call fcn.100219a0
test al, al
jne 0x1002ac54
push 0x2d
push 0x504a58
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], al
call 0xff7b670
mov eax, dword [ebx + 8]
lea edx, [ebp - 0x2c]
push edx
push 9
push ebx
push eax
mov ecx, edi
mov dword [ebp - 4], 0x12
call fcn.10015eb0
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x1002ac47
mov eax, dword [ebp - 0x2c]
push eax
call 0xfffa574
add esp, 4
mov ecx, dword [edi + 4]
call fcn.10021210
jmp 0x1002a28a
mov eax, dword [esi + 4]
cmp dword [eax + 0x10], 0
je 0x1002ac67
push esi
push ebx
push eax
mov ecx, edi
call 0x10022b20
push 0x2c
mov dword [ebp - 0x118], 0
call 0xfffa5d0
add esp, 4
test eax, eax
je 0x1002b50d
mov dword [ebp - 0x11c], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x11c]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x11c]
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x11c]
mov byte [ecx + 0x28], 1
mov edx, dword [ebp - 0x11c]
mov byte [edx + 0x29], 1
mov eax, dword [ebx + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x14]
mov edi, dword [edi + 4]
add eax, eax
add eax, eax
mov dword [ebp - 4], 0x13
je 0x1002acf1
push eax
call 0xfffa5d0
mov dword [ebp - 0xf4], eax
add esp, 4
lea eax, [ebp - 0xf4]
push eax
lea ecx, [edi + 0x98]
call fcn.10013660
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x104]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x14]
xor esi, esi
test eax, eax
jle 0x1002afa2
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + esi*4]
push 0
push eax
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x120]
call 0x1001e0e0
cmp byte [ebp - 0x108], 0
jne 0x1002adb0
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + esi*4]
push eax
lea edx, [ebp - 0x48]
push 0x504a4c
push edx
call 0xff99810
push 0x504a38
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call 0xff7f1a0
add esp, 0x18
mov ecx, dword [ebx + 8]
push eax
push 9
push ebx
push ecx
mov ecx, dword [ebp - 0xfc]
mov byte [ebp - 4], 0x17
call fcn.10015eb0
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jb 0x1002ad87
mov ecx, dword [ebp - 0x2c]
push ecx
call 0xfffa574
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x34], edi
jb 0x1002adb5
mov edx, dword [ebp - 0x48]
push edx
call 0xfffa574
add esp, 4
jmp 0x1002adb5
mov edi, 0x10
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
mov ecx, dword [ebp - 0xfc]
mov ecx, dword [ecx + 4]
cmp dword [eax + 0x14], edi
jb 0x1002add3
mov edx, dword [eax]
mov dword [ebp - 0xf4], edx
jmp 0x1002add9
mov dword [ebp - 0xf4], eax
lea edi, [ecx + 0xd4]
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x100]
push ecx
mov ecx, edi
call fcn.10014c70
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x100]
cmp eax, edi
jne 0x1002ae05
xor eax, eax
jmp 0x1002ae08
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xf4], eax
test eax, eax
jne 0x1002af8c
mov edi, dword [ebp - 0xfc]
mov ecx, dword [edi]
cmp dword [ecx + 0xc], eax
je 0x1002ae40
mov edx, dword [ebx + 0x10]
mov eax, dword [edx + esi*4]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.10024da0
mov dword [ebp - 0xf4], eax
test eax, eax
jne 0x1002af8c
mov eax, dword [edi]
cmp byte [eax + 0x15], 0
je 0x1002ae5b
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
push eax
mov ecx, edi
call fcn.1001a520
jmp 0x1002af8c
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
cmp dword [eax + 4], 0
mov byte [ebp - 4], 0x1b
jne 0x1002aee6
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + esi*4]
push eax
lea edx, [ebp - 0x64]
push 0x504a4c
push edx
call 0xff99810
push 0x504a20
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x1d
call 0xff7f1a0
add esp, 0x18
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1e
call 0xff7b490
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jb 0x1002aec5
mov ecx, dword [ebp - 0x2c]
push ecx
call 0xfffa574
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x50], edi
jb 0x1002af5b
mov edx, dword [ebp - 0x64]
push edx
jmp 0x1002af53
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi*4]
push eax
lea ecx, [ebp - 0x64]
push 0x504a4c
push ecx
call 0xff99810
push 0x504a00
push eax
lea edx, [ebp - 0x2c]
push edx
mov byte [ebp - 4], 0x20
call 0xff7f1a0
add esp, 0x18
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x21
call 0xff7b490
mov edi, 0x10
cmp dword [ebp - 0x18], edi
jb 0x1002af34
mov eax, dword [ebp - 0x2c]
push eax
call 0xfffa574
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x50], edi
jb 0x1002af5b
mov ecx, dword [ebp - 0x64]
push ecx
call 0xfffa574
add esp, 4
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xfc]
lea edx, [ebp - 0x48]
push edx
push 9
push ebx
push eax
call fcn.10015eb0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x34], edi
jb 0x1002af86
mov eax, dword [ebp - 0x48]
push eax
call 0xfffa574
add esp, 4
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x10]
mov dword [edx + esi*4], eax
inc esi
cmp esi, dword [ebx + 0x14]
jl 0x1002ad07
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ecx + 4]
add eax, eax
add eax, eax
mov dword [ebp - 0xf4], 0
je 0x1002afe5
push eax
call 0xfffa5d0
add esp, 4
lea edx, [ebp - 0x108]
push edx
lea ecx, [esi + 0x98]
mov dword [ebp - 0x108], eax
call fcn.10013660
mov eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0x104]
xor esi, esi
mov dword [edi + 0x18], eax
cmp dword [ebx + 0x24], esi
jle 0x1002b070
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + esi*4]
test eax, eax
js 0x1002b019
cmp eax, dword [ebx + 0x14]
jge 0x1002b019
mov ecx, dword [ebp - 0xf4]
mov edx, dword [edi + 0x18]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp - 0xf4], ecx
jmp 0x1002b06a
push 0x20
push 0x5049dc
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call 0xff7b670
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0xfc]
push 9
push ebx
push eax
mov byte [ebp - 4], 0x23
call fcn.10015eb0
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0x13
jb 0x1002b06a
mov edx, dword [ebp - 0x2c]
push edx
call 0xfffa574
add esp, 4
inc esi
cmp esi, dword [ebx + 0x24]
jl 0x1002aff5
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xfc]
add ecx, 0x44
mov dword [edi + 0x14], eax
call fcn.10018440
xor esi, esi
cmp dword [edi + 0xc], esi
jle 0x1002b0a8
mov edi, edi
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebp - 0xfc]
push eax
call fcn.100187a0
inc esi
cmp esi, dword [edi + 0xc]
jl 0x1002b090
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xfc]
mov esi, dword [edx + 4]
add eax, eax
add eax, eax
mov dword [ebp - 0xf4], 0
je 0x1002b0eb
push eax
call 0xfffa5d0
mov dword [ebp - 0x108], eax
add esp, 4
lea eax, [ebp - 0x108]
push eax
lea ecx, [esi + 0x98]
call fcn.10013660
mov eax, dword [ebp - 0x108]
xor esi, esi
mov dword [edi + 0x20], eax
cmp dword [ebx + 0x30], esi
jle 0x1002b174
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx + esi*4]
test eax, eax
js 0x1002b11d
cmp eax, dword [ebx + 0x14]
jge 0x1002b11d
mov ecx, dword [ebp - 0xf4]
mov edx, dword [edi + 0x20]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp - 0xf4], ecx
jmp 0x1002b16e
push 0x1e
push 0x5049bc
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call 0xff7b670
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0xfc]
push 9
push ebx
push eax
mov byte [ebp - 4], 0x25
call fcn.10015eb0
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0x13
jb 0x1002b16e
mov edx, dword [ebp - 0x2c]
push edx
call 0xfffa574
add esp, 4
inc esi
cmp esi, dword [ebx + 0x30]
jl 0x1002b0f9
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xfc]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x3c]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x3c]
mov esi, dword [ecx + 4]
shl eax, 6
test eax, eax
je 0x1002b1bd
push eax
call 0xfffa5d0
add esp, 4
lea edx, [ebp - 0xf4]
push edx
lea ecx, [esi + 0x98]
mov dword [ebp - 0xf4], eax
call fcn.10013660
mov eax, dword [ebp - 0xf4]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0x3c]
xor esi, esi
test eax, eax
jle 0x1002b1f9
xor edi, edi
jmp 0x1002b1d0
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + esi*4]
mov ecx, dword [ebp - 0xfc]
add edx, edi
push edx
push 0
push eax
call fcn.10026b50
inc esi
add edi, 0x40
cmp esi, dword [ebx + 0x3c]
jl 0x1002b1d0
mov eax, dword [ebx + 0x4c]
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x4c]
mov esi, dword [ecx + 4]
shl eax, 5
test eax, eax
je 0x1002b23f
push eax
call 0xfffa5d0
add esp, 4
lea edx, [ebp - 0xf4]
push edx
lea ecx, [esi + 0x98]
mov dword [ebp - 0xf4], eax
call fcn.10013660
mov eax, dword [ebp - 0xf4]
xor esi, esi
mov dword [edi + 0x30], eax
cmp dword [ebx + 0x4c], esi
jle 0x1002b279
xor edi, edi
jmp 0x1002b250
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + esi*4]
mov ecx, dword [ebp - 0xfc]
add edx, edi
push edx
push 0
push eax
call fcn.10025170
inc esi
add edi, 0x20
cmp esi, dword [ebx + 0x4c]
jl 0x1002b250
mov eax, dword [ebx + 0x5c]
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x5c]
mov esi, dword [ecx + 4]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
je 0x1002b2c3
push eax
call 0xfffa5d0
add esp, 4
lea edx, [ebp - 0xf4]
push edx
lea ecx, [esi + 0x98]
mov dword [ebp - 0xf4], eax
call fcn.10013660
mov eax, dword [ebp - 0xf4]
xor esi, esi
mov dword [edi + 0x38], eax
cmp dword [ebx + 0x5c], esi
jle 0x1002b2f9
xor edi, edi
nop
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebx + 0x58]
mov eax, dword [eax + esi*4]
mov ecx, dword [ebp - 0xfc]
add edx, edi
push edx
push 0
push eax
call fcn.10025410
inc esi
add edi, 0x18
cmp esi, dword [ebx + 0x5c]
jl 0x1002b2d0
mov eax, dword [ebx + 0x6c]
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov dword [edi + 0x3c], eax
mov eax, dword [ebx + 0x6c]
mov esi, dword [ecx + 4]
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
add eax, eax
je 0x1002b343
push eax
call 0xfffa5d0
add esp, 4
lea edx, [ebp - 0xf4]
push edx
lea ecx, [esi + 0x98]
mov dword [ebp - 0xf4], eax
call fcn.10013660
mov eax, dword [ebp - 0xf4]
xor esi, esi
mov dword [edi + 0x40], eax
cmp dword [ebx + 0x6c], esi
jle 0x1002b37b
xor edi, edi
nop
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax + esi*4]
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 0x40]
push 1
add eax, edi
push eax
push 0
push ecx
mov ecx, dword [ebp - 0xfc]
call fcn.10022e40
inc esi
add edi, 0x48
cmp esi, dword [ebx + 0x6c]
jl 0x1002b350
mov eax, dword [ebx + 0x84]
shr eax, 9
test al, 1
jne 0x1002b39d
mov ecx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xfc]
mov dword [ecx + 0x44], 0
jmp 0x1002b3f5
mov edi, dword [ebx + 0x78]
test edi, edi
jne 0x1002b3ad
mov edx, dword [0x526094]
mov edi, dword [edx + 0x78]
mov esi, dword [ebp - 0x104]
mov eax, dword [esi + 4]
push 0x503cac
push eax
lea eax, [ebp - 0x64]
push eax
call 0xff7f0c0
add esp, 0xc
mov ecx, dword [esi]
push esi
mov esi, dword [ebp - 0xfc]
push edi
push ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2a
call fcn.10020eb0
cmp dword [ebp - 0x50], 0x10
mov byte [ebp - 4], 0x13
jb 0x1002b3f5
mov ecx, dword [ebp - 0x64]
push ecx
call 0xfffa574
add esp, 4
mov edx, dword [ebp - 0x104]
push ebx
push edx
mov ecx, esi
call fcn.100278f0
cmp byte [esi + 0x1c], 0
jne 0x1002b491
push esi
lea ecx, [ebp - 0x68]
call fcn.10015ff0
mov edi, dword [esi + 0xc]
mov byte [ebp - 4], 0x2b
cmp edi, dword [esi + 0x10]
je 0x1002b434
push edi
lea ecx, [ebp - 0x68]
call fcn.100299d0
add edi, 0x40
cmp edi, dword [esi + 0x10]
jne 0x1002b423
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
cmp ecx, eax
je 0x1002b46a
mov edx, dword [ebp - 0x100]
push edx
push ecx
push eax
push eax
call fcn.1001ad70
mov ecx, dword [ebp - 0x100]
push ecx
mov edi, eax
mov eax, dword [esi + 0x10]
lea edx, [esi + 0x18]
push edx
push eax
push edi
call 0x10019f50
add esp, 0x20
mov dword [esi + 0x10], edi
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
call 0x1004e680
cmp byte [esi + 0x1c], 0
jne 0x1002b491
mov eax, dword [ebp - 0x104]
push ebx
push eax
mov ecx, esi
call fcn.10027a70
cmp byte [esi + 0x1c], 0
je 0x1002b4c8
mov ecx, dword [esi + 4]
call fcn.10021210
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
push eax
push ecx
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], 0x2c
call fcn.1001c6b0
mov edx, dword [ebp - 0x11c]
push edx
jmp 0x1002a282
mov ecx, dword [esi + 4]
call fcn.1001b0e0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
push eax
push ecx
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], 0x2d
call fcn.1001c6b0
mov ecx, dword [ebp - 0x11c]
push ecx
call 0xfffa574
mov eax, dword [ebp - 0x104]
add esp, 4
jmp 0x1002a28c
lea edx, [ebp - 0x110]
push edx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x110], 0
call 0xfffa6e9
push 0x517078
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 0x12c], 0x500234
call fcn.10002a3f
int3