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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x5dc
push ebx
push esi
push edi
mov edi, ecx
lea ebx, [edi + 0x38]
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor esi, esi
add edx, dword [ebx + 8]
mov dword [ebp + 0x68], edi
adc esi, dword [ebx + 0xc]
add edx, dword [ebp + 0x78]
adc esi, dword [ebp + 0x7c]
xor ecx, ecx
add eax, dword [ebx + 8]
mov dword [ebp - 0x1dc], edx
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1d8], esi
cmp ecx, esi
ja 0x100066d1
jb 0x10003952
cmp eax, edx
jae 0x100066d1
mov edi, dword [ebp + 0x68]
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.10001364
test al, al
je 0x100066d1
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, edx
adc ecx, dword [ebp - 0x24]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x74], ecx
cmp eax, 0x636d6f76
je 0x1000633c
cmp eax, 0x6d766864
je 0x100061fb
cmp eax, 0x726d7261
je 0x10005f8a
cmp eax, 0x7472616b
je 0x10003c58
cmp eax, 0x75647461
jne 0x1000669c
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor esi, esi
add edi, dword [ebx + 8]
adc esi, dword [ebx + 0xc]
add edi, edx
adc esi, dword [ebp - 0x24]
xor ecx, ecx
add eax, dword [ebx + 8]
mov dword [ebp - 0x1bc], edi
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1b8], esi
cmp ecx, esi
ja 0x1000669c
jae 0x10003c4b
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x380]
push eax
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10001364
test al, al
je 0x1000669c
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x218]
adc ecx, dword [ebp - 0x214]
cmp dword [ebp - 0x194], 0x6368706c
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], ecx
jne 0x10003c1b
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10006841
xor esi, esi
push esi
push 4
mov ecx, ebx
call fcn.1000d16e
mov ecx, ebx
call fcn.10007190
cmp eax, esi
mov dword [ebp + 0x40], eax
jl 0x10006841
je 0x10003c1b
dec dword [ebp + 0x40]
lea eax, [ebp - 0x50]
push eax
mov ecx, ebx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
call fcn.1000d345
test al, al
je 0x1000674f
mov ecx, ebx
call fcn.10007190
mov edi, eax
cmp edi, esi
jl 0x1000674f
push edi
lea ecx, [ebp - 4]
call fcn.10006f3e
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x10003ada
add eax, 8
jmp 0x10003adc
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
mov eax, dword [ebp - 4]
je 0x1000673e
cmp eax, esi
je 0x10003af9
mov ecx, dword [eax + 4]
jmp 0x10003afb
xor ecx, ecx
cmp eax, esi
je 0x10003b04
add eax, 8
jmp 0x10003b06
xor eax, eax
mov edi, dword [0x1001c054]
push esi
push esi
push ecx
push eax
push esi
push esi
call edi
mov dword [ebp + 0x7c], eax
add eax, eax
push eax
lea ecx, [ebp - 0x18]
call fcn.10006f3e
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10003b2e
lea edx, [eax + 8]
jmp 0x10003b30
xor edx, edx
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x10003b3c
mov ecx, dword [eax + 4]
jmp 0x10003b3e
xor ecx, ecx
cmp eax, esi
je 0x10003b47
add eax, 8
jmp 0x10003b49
xor eax, eax
push dword [ebp + 0x7c]
push edx
push ecx
push eax
push esi
push esi
call edi
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10003b5f
add eax, 8
jmp 0x10003b61
xor eax, eax
mov edi, dword [0x1001c1c4]
push esi
push esi
push dword [ebp + 0x7c]
push eax
call edi
add esp, 0x10
push eax
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0x3c], eax
call fcn.10006f3e
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x48]
call fcn.10006f81
mov eax, dword [ebp - 0x7c]
cmp eax, esi
je 0x10003b9e
dec dword [eax]
cmp dword [eax], esi
jne 0x10003b9e
push eax
call fcn.1000dc88
pop ecx
mov eax, dword [ebp - 0x48]
cmp eax, esi
je 0x10003baa
lea ecx, [eax + 8]
jmp 0x10003bac
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10003bb8
add eax, 8
jmp 0x10003bba
xor eax, eax
push dword [ebp + 0x3c]
push ecx
push dword [ebp + 0x7c]
push eax
call edi
mov ecx, dword [ebp + 0x68]
add esp, 0x10
lea eax, [ebp - 0x50]
push eax
add ecx, 0xa8
call fcn.100082bb
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x10003bed
dec dword [eax]
cmp dword [eax], esi
jne 0x10003bed
push eax
call fcn.1000dc88
pop ecx
mov eax, dword [ebp - 4]
cmp eax, esi
je 0x10003c01
dec dword [eax]
cmp dword [eax], esi
jne 0x10003c01
push eax
call fcn.1000dc88
pop ecx
push dword [ebp - 0x48]
lea ecx, [ebp - 0x48]
call fcn.10006f28
cmp dword [ebp + 0x40], esi
jne 0x10003a95
mov edi, dword [ebp - 0x1bc]
push dword [ebp - 0x174]
mov ecx, ebx
push dword [ebp - 0x178]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x1b8]
jb 0x10003a01
ja 0x1000669c
cmp eax, edi
jb 0x10003a01
jmp 0x1000669c
lea esi, [edi + 0x88]
lea ecx, [ebp - 0x56c]
mov dword [ebp - 0x40], esi
call fcn.10009f72
push eax
mov ecx, esi
call fcn.1000a13e
lea ecx, [ebp - 0x56c]
call fcn.10009fd7
mov eax, dword [edi + 0x8c]
dec eax
push eax
mov ecx, esi
call fcn.100074dc
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
xor ecx, ecx
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x10], eax
mov dword [ebp], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebx + 0x10]
add eax, dword [ebx + 8]
mov dword [ebp + 0x7c], esi
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x28]
adc ecx, dword [ebp - 0x24]
xor edi, edi
add edx, dword [ebx + 8]
mov dword [ebp - 0x170], eax
adc edi, dword [ebx + 0xc]
mov dword [ebp - 0x16c], ecx
cmp edi, ecx
ja 0x1000574d
jb 0x10003cf6
cmp edx, eax
jae 0x1000574d
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x3a0]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.10001364
test al, al
je 0x1000574a
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x60]
adc ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x2c], 0x65647473
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], ecx
je 0x1000553c
cmp dword [ebp - 0x2c], 0x6d646961
je 0x10003e0f
cmp dword [ebp - 0x2c], 0x746b6864
jne 0x10005712
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
push esi
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
xor eax, eax
cmp byte [ebp + 0x34], 1
mov ecx, ebx
setne al
dec eax
and eax, 0xc
add eax, 0x14
cdq
push edx
push eax
call fcn.1000d16e
xor edi, edi
push edi
push 0x28
mov ecx, ebx
call fcn.1000d16e
lea eax, [ebp - 0x1a0]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
lea eax, [ebp - 0x150]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
mov eax, dword [ebp - 0x1a0]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x150]
push edi
push 4
mov ecx, ebx
mov dword [esi + 0x1c], eax
call fcn.1000d16e
lea eax, [esi + 0x10]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
add esi, 0x14
push esi
mov ecx, ebx
call fcn.1000d279
test al, al
jne 0x10005712
cmp dword [ebp + 0x44], edi
je 0x10003e07
push dword [ebp + 0x44]
call fcn.1000dc88
pop ecx
cmp dword [ebp + 0x54], edi
jmp 0x10004991
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x60]
adc ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x10]
xor edx, edx
add eax, dword [ebx + 8]
mov dword [ebp - 0xe4], ecx
adc edx, dword [ebx + 0xc]
cmp edx, ecx
ja 0x10005712
jae 0x1000552b
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x390]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.10001364
test al, al
je 0x10005712
mov esi, dword [ebx + 0x10]
xor edi, edi
add esi, dword [ebx + 8]
adc edi, dword [ebx + 0xc]
add esi, dword [ebp - 0xc8]
adc edi, dword [ebp - 0xc4]
cmp dword [ebp - 0x30], 0x68646c72
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x148], edi
je 0x100053b9
cmp dword [ebp - 0x30], 0x6d646864
je 0x1000522f
cmp dword [ebp - 0x30], 0x6d696e66
jne 0x100054fb
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor edx, edx
add ecx, dword [ebx + 8]
adc edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0xc8]
adc edx, dword [ebp - 0xc4]
xor esi, esi
add eax, dword [ebx + 8]
mov dword [ebp - 0x140], ecx
adc esi, dword [ebx + 0xc]
mov dword [ebp - 0x13c], edx
cmp esi, edx
ja 0x100054fb
jb 0x10003ef1
cmp eax, ecx
jae 0x100054fb
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10001364
test al, al
je 0x100054fb
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x58]
adc ecx, dword [ebp - 0x54]
cmp dword [ebp - 0xa8], 0x64696e66
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], ecx
je 0x10005088
cmp dword [ebp - 0xa8], 0x7374626c
jne 0x100051ee
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x58]
adc ecx, dword [ebp - 0x54]
mov dword [ebp - 0x118], eax
mov eax, dword [ebx + 0x10]
xor edx, edx
add eax, dword [ebx + 8]
mov dword [ebp - 0x114], ecx
adc edx, dword [ebx + 0xc]
cmp edx, ecx
ja 0x100051ee
jae 0x10005077
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10001364
test al, al
je 0x100051ee
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp + 0x2c]
adc ecx, dword [ebp + 0x30]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], ecx
mov ecx, dword [ebp + 0x14]
mov eax, 0x73747364
cmp ecx, eax
ja 0x10004cd6
je 0x10004255
cmp ecx, 0x636f3634
je 0x100041d7
cmp ecx, 0x63747473
je 0x10004134
cmp ecx, 0x7374636f
je 0x100040b3
cmp ecx, 0x73747363
jne 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [ebp + 0x58], edi
jne 0x1000675f
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
push 0xffffffffffffffff
push dword [ebp + 0x6c]
lea ecx, [ebp + 0x54]
call fcn.10008318
cmp dword [ebp + 0x6c], edi
jbe 0x10005047
push edi
lea ecx, [ebp + 0x54]
call fcn.1000754a
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
push edi
lea ecx, [ebp + 0x54]
call fcn.1000754a
add eax, 4
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
push edi
lea ecx, [ebp + 0x54]
call fcn.1000754a
add eax, 8
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
inc edi
cmp edi, dword [ebp + 0x6c]
jb 0x10004057
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0x7c], edi
jne 0x10006766
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
push dword [ebp + 0x6c]
lea ecx, [esi + 0x78]
call fcn.10007885
mov dword [ebp + 0x40], edi
cmp dword [ebp + 0x6c], edi
jbe 0x10005047
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
mov eax, dword [esi + 0x78]
mov ecx, dword [ebp + 0x38]
mov dword [edi + eax], ecx
and dword [edi + eax + 4], 0
inc dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
add edi, 0x10
cmp eax, dword [ebp + 0x6c]
jb 0x10004100
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0xa0], edi
jne 0x1000676d
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
push dword [ebp + 0x6c]
lea edi, [esi + 0x9c]
mov ecx, edi
call fcn.100078d9
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005047
mov ecx, dword [ebp + 0x64]
mov eax, dword [edi]
shl ecx, 3
add eax, ecx
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
mov eax, dword [ebp + 0x64]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x38]
shl eax, 3
inc dword [ebp + 0x64]
mov dword [ecx + eax + 4], edx
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x6c]
jb 0x1000418b
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0x7c], edi
jne 0x10006766
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10006774
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x100067ff
push dword [ebp + 0x6c]
lea edi, [esi + 0x78]
mov ecx, edi
call fcn.10007885
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005047
and dword [ebp + 0x40], 0
mov eax, dword [edi]
add eax, dword [ebp + 0x40]
mov ecx, ebx
push eax
call fcn.1000d345
test al, al
je 0x100067ff
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
add dword [ebp + 0x40], 0x10
cmp eax, dword [ebp + 0x6c]
jb 0x1000422c
jmp 0x10005047
mov edi, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
mov ecx, edi
call fcn.10001496
test al, al
je 0x1000497e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
xor eax, eax
cmp dword [ebp + 0x6c], eax
je 0x100059e6
cmp dword [esi + 8], 0x74657874
jne 0x100045ac
mov dword [esi + 0xc], 0x74783367
mov dword [ebp + 0x64], eax
cmp dword [ebp + 0x6c], eax
jbe 0x10005047
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x2c]
push eax
xor esi, esi
call fcn.10001364
test al, al
je 0x1000679c
cmp dword [ebp + 0x14], 0x74783367
jne 0x10005f53
push esi
push 6
mov ecx, ebx
call fcn.1000d16e
lea eax, [ebp - 0x1e0]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x1000679c
mov eax, dword [ebp - 0x1e0]
cmp eax, esi
je 0x1000678f
cmp eax, dword [ebp + 0x48]
ja 0x1000678f
dec eax
push eax
lea ecx, [ebp + 0x44]
call fcn.10007530
cmp byte [eax], 0
je 0x10005f53
push 6
pop ecx
xor eax, eax
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x23c], esi
lea edi, [ebp - 0x260]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x27c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10005a0c
mov ecx, ebx
call fcn.10007190
mov ecx, ebx
mov byte [ebp - 0x278], al
call fcn.10007190
mov edi, dword [ebp + 0x68]
mov byte [ebp - 0x277], al
lea eax, [ebp - 0x274]
push eax
mov ecx, edi
call fcn.1000155d
test al, al
je 0x10005a0c
lea eax, [ebp - 0x270]
push eax
mov ecx, edi
call fcn.100014ee
test al, al
je 0x10005a0c
lea eax, [ebp - 0x260]
push eax
mov ecx, edi
call fcn.1000197b
test al, al
je 0x10005a0c
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x2c]
push eax
mov ecx, edi
call fcn.10001364
test al, al
je 0x10005a0c
cmp dword [ebp + 0x14], 0x66746162
jne 0x10005a0c
cmp dword [ebp + 0x30], esi
ja 0x100043ff
cmp dword [ebp + 0x2c], 2
jb 0x10005a0c
lea eax, [ebp - 0xb4]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x10005a0c
add dword [ebp + 0x2c], 0xfffffffe
mov dword [ebp + 0x40], esi
adc dword [ebp + 0x30], 0xffffffff
cmp dword [ebp - 0xb4], esi
jbe 0x10004578
cmp dword [ebp + 0x30], 0
ja 0x1000443c
cmp dword [ebp + 0x2c], 3
jb 0x10005a0c
lea eax, [ebp - 0x1ac]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x10005a0c
mov ecx, ebx
call fcn.10007190
add dword [ebp + 0x2c], 0xfffffffd
mov esi, eax
adc dword [ebp + 0x30], 0xffffffff
test esi, esi
jl 0x10005a0c
cdq
mov edi, eax
mov dword [ebp - 0x2c4], edx
cmp edx, dword [ebp + 0x30]
ja 0x10005a0c
jb 0x10004488
cmp edi, dword [ebp + 0x2c]
ja 0x10005a0c
push esi
lea ecx, [ebp - 0x14]
call fcn.10006f3e
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x1000449d
add eax, 8
jmp 0x1000449f
xor eax, eax
push esi
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
je 0x100059f7
sub dword [ebp + 0x2c], edi
mov eax, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x14]
sbb dword [ebp + 0x30], eax
push ecx
mov ecx, esp
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100044d0
inc dword [eax]
push ecx
call fcn.10002186
pop ecx
pop ecx
lea esi, [ebp - 0x15c]
call fcn.10002f40
pop ecx
push dword [eax]
lea ecx, [ebp - 0xb0]
call fcn.10009bdf
mov ecx, dword [ebp - 0x15c]
add ecx, 0xfffffff0
call fcn.1000123a
mov esi, dword [ebp - 0xb0]
cmp dword [esi - 0xc], 0
je 0x10004549
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x184]
call fcn.10008187
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x248]
call fcn.10009d49
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.1000123a
lea ecx, [esi - 0x10]
call fcn.1000123a
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10004566
dec dword [eax]
cmp dword [eax], 0
jne 0x10004566
push eax
call fcn.1000dc88
pop ecx
inc dword [ebp + 0x40]
mov eax, dword [ebp + 0x40]
cmp eax, dword [ebp - 0xb4]
jb 0x1000442c
mov ecx, dword [ebp + 0x7c]
lea eax, [ebp - 0x280]
push eax
add ecx, 0x50
call fcn.1000a02b
lea ecx, [ebp - 0x248]
call fcn.10009a1e
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x6c]
jb 0x100042ad
mov esi, dword [ebp + 0x7c]
jmp 0x10005047
cmp dword [ebp + 0x6c], 1
jne 0x10005a1c
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x2c]
mov dword [ebp - 0x80], ecx
push eax
mov ecx, edi
call fcn.10001364
test al, al
je 0x1000497e
mov edi, dword [ebx + 0x10]
xor eax, eax
add edi, dword [ebx + 8]
push 0
adc eax, dword [ebx + 0xc]
sub edi, dword [ebp - 0x84]
push 6
sbb eax, dword [ebp - 0x80]
add edi, dword [ebp + 0x2c]
mov ecx, ebx
adc eax, dword [ebp + 0x30]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xc], eax
call fcn.1000d16e
lea eax, [ebp - 0x168]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x1000497e
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x100067d9
cmp eax, dword [ebp + 0x48]
ja 0x100067d9
dec eax
push eax
lea ecx, [ebp + 0x44]
call fcn.10007530
cmp byte [eax], 0
je 0x10005f53
mov eax, dword [esi + 8]
cmp eax, 0x736f756e
je 0x100048dc
cmp eax, 0x73756270
je 0x10004842
cmp eax, 0x74657874
je 0x10005f53
cmp eax, 0x76696465
jne 0x10005f53
xor edi, edi
push edi
push 0x10
mov ecx, ebx
call fcn.1000d16e
lea eax, [esi + 0x40]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x10003df9
lea eax, [esi + 0x44]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x10003df9
push edi
push 0x32
mov ecx, ebx
call fcn.1000d16e
mov eax, dword [esi + 0xc]
cmp eax, 0x61766331
je 0x100047dd
cmp eax, 0x6d703476
je 0x10004788
cmp eax, 0x73323633
je 0x10004745
push eax
call fcn.1000133c
pop ecx
cmp eax, edi
je 0x10005f53
cmp dword [eax + 8], edi
je 0x10005f53
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10001364
test al, al
je 0x10003df9
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x90]
call fcn.10006f3e
lea eax, [ebp - 0x90]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
mov eax, dword [ebp - 0x90]
jmp 0x1000481b
mov ecx, dword [ebp + 0x68]
push 0x64323633
lea eax, [ebp + 0x2c]
push eax
call fcn.10001406
test al, al
je 0x100067b2
push dword [ebp + 0x2c]
lea ecx, [ebp - 0xac]
call fcn.10006f3e
lea eax, [ebp - 0xac]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
mov eax, dword [ebp - 0xac]
jmp 0x1000481b
mov ecx, dword [ebp + 0x68]
lea eax, [esi + 0x60]
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.100015d8
test al, al
je 0x10005f53
mov al, byte [ebp - 0x28f]
cmp al, 0x20
je 0x10005047
cmp al, 0x5f
jbe 0x10005f53
cmp al, 0x65
jbe 0x100047d1
cmp al, 0x6a
jne 0x10005f53
mov dword [esi + 0xc], 0x6d703176
jmp 0x10005047
mov dword [esi + 0xc], 0x6d703276
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
push 0x61766343
lea eax, [ebp + 0x2c]
push eax
call fcn.10001406
test al, al
je 0x100067b9
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x9c]
call fcn.10006f3e
lea eax, [ebp - 0x9c]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x1000482d
dec dword [eax]
cmp dword [eax], 0
jne 0x1000482d
push eax
call fcn.1000dc88
pop ecx
mov edi, dword [edi]
test edi, edi
je 0x10004838
lea eax, [edi + 8]
jmp 0x1000483a
xor eax, eax
push dword [ebp + 0x2c]
jmp 0x10004bf0
cmp dword [esi + 0xc], 0x6d703473
jne 0x10005f53
mov ecx, dword [ebp + 0x68]
lea edi, [esi + 0x60]
push edi
lea eax, [ebp - 0x29c]
push eax
call fcn.100015d8
test al, al
je 0x10005f53
movzx eax, byte [ebp - 0x28f]
sub eax, 0xd0
je 0x100048d0
dec eax
je 0x100048c4
dec eax
je 0x100048b8
sub eax, 0xd
je 0x100048ac
dec eax
jne 0x10005f53
mov dword [esi + 0xc], 0x766f6273
mov eax, dword [edi]
test eax, eax
je 0x1000489c
mov eax, dword [eax + 4]
jmp 0x1000489e
xor eax, eax
cmp eax, 0x40
jb 0x10005f53
jmp 0x10005047
mov dword [esi + 0xc], 0x75736620
jmp 0x10005047
mov dword [esi + 0xc], 0x73727420
jmp 0x10005047
mov dword [esi + 0xc], 0x73736120
jmp 0x10005047
mov dword [esi + 0xc], 0x61737320
jmp 0x10005047
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
mov dword [esi + 0x48], 0x10
call fcn.1000d311
test al, al
je 0x1000497e
push 0
push 6
mov ecx, ebx
call fcn.1000d16e
lea eax, [esi + 0x40]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x1000497e
lea eax, [esi + 0x48]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x1000497e
push 0
push 4
mov ecx, ebx
call fcn.1000d16e
lea eax, [esi + 0x44]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
cmp dword [ebp + 0x6c], 1
jne 0x100049a4
lea eax, [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
lea eax, [ebp]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
lea eax, [ebp - 0x1d4]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
jne 0x100049f5
cmp dword [ebp + 0x44], 0
je 0x1000498d
push dword [ebp + 0x44]
call fcn.1000dc88
pop ecx
cmp dword [ebp + 0x54], 0
je 0x10006841
push dword [ebp + 0x54]
call fcn.1000dc88
jmp 0x10006850
cmp dword [ebp + 0x6c], 2
jne 0x100049f5
push 0
push 4
mov ecx, ebx
call fcn.1000d16e
lea eax, [ebp - 0x2c0]
push eax
mov ecx, ebx
call fcn.1000d345
test al, al
je 0x1000497e
lea eax, [esi + 0x40]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
push 0
push 0x14
mov ecx, ebx
call fcn.1000d16e
fld qword [ebp - 0x2c0]
fmul qword [0x1001d180]
call fcn.1000e876
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0xc]
mov ecx, 0x72617720
cmp eax, ecx
ja 0x10004c05
je 0x10004c31
cmp eax, 0x51444d32
je 0x10004b9e
cmp eax, 0x61632d33
je 0x10004b18
cmp eax, 0x6d703461
je 0x10004a3f
cmp eax, 0x6d730055
jne 0x10005f53
mov dword [esi + 0xc], 0x516d7033
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
lea edi, [esi + 0x60]
push edi
lea eax, [ebp - 0x29c]
push eax
call fcn.100015d8
test al, al
je 0x10005f53
movzx eax, byte [ebp - 0x28f]
cmp eax, 0x6b
jg 0x10004ae0
je 0x10004ad4
cmp eax, 0x40
jl 0x10005f53
cmp eax, 0x41
jle 0x10004a8d
cmp eax, 0x65
jle 0x10005f53
cmp eax, 0x68
jg 0x10005f53
jmp 0x10005047
mov eax, dword [edi]
test eax, eax
je 0x10004a98
mov eax, dword [eax + 4]
jmp 0x10004a9a
xor eax, eax
cmp eax, 2
je 0x10004ab5
mov eax, dword [edi]
test eax, eax
je 0x10004aaa
mov eax, dword [eax + 4]
jmp 0x10004aac
xor eax, eax
cmp eax, 5
jne 0x10005047
mov edi, dword [edi]
test edi, edi
je 0x10004ac0
lea eax, [edi + 8]
jmp 0x10004ac2
xor eax, eax
movsx eax, byte [eax + 1]
sar eax, 3
and eax, 0xf
mov dword [esi + 0x40], eax
jmp 0x10005047
mov dword [esi + 0xc], 0x6d703361
jmp 0x10005047
cmp eax, 0xd3
je 0x10004b92
cmp eax, 0xd4
je 0x10004b0c
add eax, 0xffffff23
cmp eax, 1
ja 0x10005f53
mov dword [esi + 0xc], 0x766f7262
jmp 0x10005047
mov dword [esi + 0xc], 0x64747320
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
push 0x64616333
lea eax, [ebp + 0x2c]
push eax
call fcn.10001406
test al, al
je 0x100067cb
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d2cd
test al, al
je 0x1000497e
mov eax, dword [ebp + 0x6c]
shr eax, 0x16
sub eax, 0
je 0x10004b6b
dec eax
je 0x10004b62
dec eax
jne 0x10005f53
mov dword [esi + 0x44], 0x7d000000
jmp 0x10004b72
mov dword [esi + 0x44], 0xac440000
jmp 0x10004b72
mov dword [esi + 0x44], 0xbb800000
mov eax, dword [ebp + 0x6c]
shr eax, 0xb
and eax, 7
movzx eax, byte [eax + 0x10021158]
mov dword [esi + 0x40], eax
test dword [ebp + 0x6c], 0x400
je 0x10004b92
inc eax
mov dword [esi + 0x40], eax
mov dword [esi + 0xc], 0x61633320
jmp 0x10005047
push dword [ebp - 0x80]
mov ecx, ebx
push dword [ebp - 0x84]
call fcn.1000d1b8
push edi
lea ecx, [ebp - 0xbc]
call fcn.10006f3e
lea eax, [ebp - 0xbc]
lea ecx, [esi + 0x60]
push eax
call fcn.10006f81
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x10004be1
dec dword [eax]
cmp dword [eax], 0
jne 0x10004be1
push eax
call fcn.1000dc88
pop ecx
mov eax, dword [esi + 0x60]
test eax, eax
je 0x10004bed
add eax, 8
jmp 0x10004bef
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
je 0x1000497e
jmp 0x10005047
cmp eax, 0x73616d72
je 0x10004c5a
cmp eax, 0x73617762
je 0x10004c5a
cmp eax, 0x736f7774
je 0x10004c31
cmp eax, 0x756c6177
jne 0x10005f53
mov dword [esi + 0x48], 8
jmp 0x10005047
cmp dword [ebp + 0x10], 0
je 0x10004c41
cmp dword [ebp], 0
jne 0x10005047
mov dword [ebp + 0x10], 1
mov eax, dword [esi + 0x48]
imul eax, dword [esi + 0x40]
shr eax, 3
mov dword [ebp], eax
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
push 0x64616d72
lea eax, [ebp + 0x2c]
push eax
call fcn.10001406
test al, al
je 0x100067d2
push dword [ebp + 0x2c]
lea ecx, [ebp - 0xa4]
call fcn.10006f3e
lea eax, [ebp - 0xa4]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x10004caa
dec dword [eax]
cmp dword [eax], 0
jne 0x10004caa
push eax
call fcn.1000dc88
pop ecx
mov edi, dword [edi]
test edi, edi
je 0x10004cb5
lea eax, [edi + 8]
jmp 0x10004cb7
xor eax, eax
push dword [ebp + 0x2c]
mov ecx, ebx
push eax
call fcn.1000d0df
test al, al
je 0x1000497e
mov dword [esi + 0x40], 1
jmp 0x10005047
sub ecx, 0x73747373
je 0x10004fb6
sub ecx, 7
je 0x10004f0c
sub ecx, 0xf9
je 0x10004e5b
sub ecx, 0x5bf
jne 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0x70], edi
jne 0x100067ee
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
push edi
push 3
mov ecx, ebx
call fcn.1000d16e
mov ecx, ebx
call fcn.10007190
cmp eax, edi
mov dword [ebp + 0x40], eax
jl 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
mov eax, dword [ebp + 0x6c]
mov dword [esi + 0x68], eax
push dword [ebp + 0x6c]
lea edi, [esi + 0x6c]
mov ecx, edi
call fcn.10007866
cmp dword [ebp + 0x40], 4
je 0x10004de7
cmp dword [ebp + 0x40], 8
je 0x10004db4
cmp dword [ebp + 0x40], 0x10
jne 0x100067e0
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005047
mov eax, dword [edi]
mov ecx, dword [ebp + 0x64]
lea eax, [eax + ecx*4]
push eax
mov ecx, ebx
call fcn.1000d311
test al, al
je 0x1000497e
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x6c]
jb 0x10004d8c
jmp 0x10005047
and dword [ebp + 0x3c], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005047
mov ecx, ebx
call fcn.10007190
test eax, eax
jl 0x1000497e
mov ecx, dword [ebp + 0x3c]
mov edx, dword [edi]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp + 0x3c], ecx
cmp ecx, dword [ebp + 0x6c]
jb 0x10004dc2
jmp 0x10005047
mov eax, dword [ebp + 0x6c]
and dword [ebp + 0x64], 0
and eax, 0xfffffffe
cmp dword [ebp + 0x6c], 0
mov dword [ebp + 0x38], eax
jbe 0x10004e31
mov ecx, ebx
call fcn.10007190
test eax, eax
jl 0x1000497e
mov ecx, dword [ebp + 0x64]
mov edi, dword [edi]
add dword [ebp + 0x64], 2
mov edx, eax
shl ecx, 2
shr edx, 4
mov dword [ecx + edi], edx
and eax, 0xf
lea edi, [esi + 0x6c]
mov edx, dword [edi]
mov dword [ecx + edx + 4], eax
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x6c]
jb 0x10004dfa
test byte [ebp + 0x6c], 1
je 0x10005047
mov ecx, ebx
call fcn.10007190
test eax, eax
jl 0x1000497e
mov ecx, dword [edi]
mov edx, dword [ebp + 0x6c]
shr eax, 4
mov dword [ecx + edx*4 - 4], eax
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0x94], edi
jne 0x100067e7
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
push dword [ebp + 0x6c]
lea edi, [esi + 0x90]
mov ecx, edi
call fcn.100078d9
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005047
mov ecx, dword [ebp + 0x64]
mov eax, dword [edi]
shl ecx, 3
add eax, ecx
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x64]
mov ecx, dword [edi]
shl eax, 3
mov dword [ecx + eax + 4], edx
mov ecx, dword [edi]
mov eax, dword [ecx + eax]
mul dword [ebp + 0x38]
add dword [esi + 0x30], eax
adc dword [esi + 0x34], edx
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x6c]
jb 0x10004eb2
jmp 0x10005047
mov ecx, dword [ebp + 0x68]
xor edi, edi
cmp dword [esi + 0x70], edi
jne 0x100067ee
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10003df9
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10003df9
cmp dword [ebp + 0x6c], edi
mov eax, dword [ebp + 0x38]
lea edi, [esi + 0x6c]
mov dword [esi + 0x68], eax
mov ecx, edi
jne 0x10004fa3
push dword [ebp + 0x38]
call fcn.10007866
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x38], 0
jbe 0x10005047
mov eax, dword [edi]
mov ecx, dword [ebp + 0x64]
lea eax, [eax + ecx*4]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x38]
jb 0x10004f7b
jmp 0x10005047
push 1
call fcn.10007866
mov eax, dword [edi]
mov ecx, dword [ebp + 0x6c]
mov dword [eax], ecx
jmp 0x10005047
cmp dword [esi + 0x88], 0
mov ecx, dword [ebp + 0x68]
jne 0x100067f5
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x100067ff
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x100067ff
push dword [ebp + 0x6c]
lea edi, [esi + 0x84]
mov ecx, edi
call fcn.10007866
and dword [ebp + 0x3c], 0
cmp dword [ebp + 0x6c], 0
jbe 0x10005036
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x100067ff
mov eax, dword [ebp + 0x38]
mov edx, dword [edi]
lea ecx, [eax - 1]
mov eax, dword [ebp + 0x3c]
mov dword [edx + eax*4], ecx
inc eax
mov dword [ebp + 0x3c], eax
cmp eax, dword [ebp + 0x6c]
jb 0x10005008
cmp dword [ebp + 0x6c], 0
jne 0x10005047
and dword [ebp + 0x3c], 0
lea eax, [ebp + 0x3c]
push eax
mov ecx, edi
call fcn.1000783a
push dword [ebp - 0x1e8]
mov ecx, ebx
push dword [ebp - 0x1ec]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x114]
jb 0x10003f89
ja 0x100051ee
cmp eax, dword [ebp - 0x118]
jb 0x10003f89
jmp 0x100051ee
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x58]
adc ecx, dword [ebp - 0x54]
xor edi, edi
add edx, dword [ebx + 8]
mov dword [ebp - 0x128], eax
adc edi, dword [ebx + 0xc]
mov dword [ebp - 0x124], ecx
cmp edi, ecx
ja 0x100051ee
jb 0x100050c2
cmp edx, eax
jae 0x100051ee
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10001364
test al, al
je 0x100051eb
mov edi, dword [ebx + 0x10]
xor esi, esi
add edi, dword [ebx + 8]
adc esi, dword [ebx + 0xc]
add edi, dword [ebp - 0x68]
adc esi, dword [ebp - 0x64]
cmp dword [ebp + 8], 0x64726566
jne 0x100051bd
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
cmp dword [ebp + 0x6c], 0
jbe 0x100051bd
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10001364
test al, al
je 0x1000497e
mov edi, dword [ebx + 0x10]
xor esi, esi
add edi, dword [ebx + 8]
adc esi, dword [ebx + 0xc]
add edi, dword [ebp - 0x68]
adc esi, dword [ebp - 0x64]
cmp dword [ebp + 8], 0x616c6973
je 0x1000517f
cmp dword [ebp + 8], 0x63696f73
je 0x1000517f
cmp dword [ebp + 8], 0x75726c20
jne 0x100051a1
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
test byte [ebp + 0x28], 1
je 0x100051a1
push 1
jmp 0x100051a3
push 0
lea ecx, [ebp + 0x44]
call fcn.10008364
push esi
push edi
mov ecx, ebx
call fcn.1000d1b8
dec dword [ebp + 0x6c]
jne 0x10005134
push esi
push edi
mov ecx, ebx
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x124]
jb 0x100050c2
ja 0x100051eb
cmp eax, dword [ebp - 0x128]
jb 0x100050c2
mov esi, dword [ebp + 0x7c]
push dword [ebp - 0x130]
mov ecx, ebx
push dword [ebp - 0x134]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x13c]
jb 0x10003ef4
ja 0x100054fb
cmp eax, dword [ebp - 0x140]
jb 0x10003ef4
jmp 0x100054fb
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
cmp byte [ebp + 0x34], 1
mov ecx, ebx
jne 0x1000528d
push 0
push 0x10
call fcn.1000d16e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
mov edi, dword [ebp + 0x7c]
lea esi, [edi + 0x28]
push esi
mov ecx, ebx
call fcn.1000d345
test al, al
je 0x1000497e
mov eax, dword [ebp + 0x6c]
and dword [edi + 0x24], 0
mov dword [edi + 0x20], eax
jmp 0x100052d5
xor esi, esi
push esi
push 8
call fcn.1000d16e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000679c
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000679c
mov eax, dword [ebp + 0x6c]
mov edi, dword [ebp + 0x7c]
and dword [edi + 0x24], esi
mov dword [edi + 0x20], eax
mov eax, dword [ebp + 0x38]
lea esi, [edi + 0x28]
and dword [esi + 4], 0
mov dword [esi], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
or eax, ecx
je 0x1000680c
mov ecx, dword [esi]
mov eax, dword [esi + 4]
and dword [ebp - 0x110], 0
mov edx, dword [edi + 0x20]
and dword [ebp - 0x100], 0
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x10c], eax
mov ecx, 0x7fffffff
and eax, ecx
mov dword [ebp - 0x1f4], eax
fild qword [ebp - 0x1f8]
mov eax, 0x80000000
and dword [ebp - 0x10c], eax
fild qword [ebp - 0x110]
mov dword [ebp - 0xd8], edx
mov edx, dword [edi + 0x24]
mov dword [ebp - 0xd4], edx
and dword [ebp - 0xd4], ecx
fchs
faddp st(1)
mov dword [ebp - 0xfc], edx
and dword [ebp - 0xfc], eax
fmul qword [0x1001c6b0]
fild qword [ebp - 0xd8]
fild qword [ebp - 0x100]
fchs
faddp st(1)
fdivp st(1)
call fcn.1000e876
mov dword [esi], eax
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
mov dword [esi + 4], edx
call fcn.1000d311
test al, al
je 0x1000497e
and dword [ebp + 0x6c], 0x7fff
je 0x100054fb
mov eax, dword [ebp + 0x6c]
shr eax, 0xa
and al, 0x1f
add al, 0x60
mov byte [edi + 4], al
mov eax, dword [ebp + 0x6c]
shr eax, 5
and al, 0x1f
add al, 0x60
mov byte [edi + 5], al
mov al, byte [ebp + 0x6c]
and al, 0x1f
add al, 0x60
mov byte [edi + 6], al
jmp 0x100054fb
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
push 0
push 4
mov ecx, ebx
call fcn.1000d16e
mov eax, dword [ebp + 0x7c]
add eax, 8
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
push 0
push 0xc
mov ecx, ebx
call fcn.1000d16e
mov eax, dword [ebx + 0x10]
xor ecx, ecx
sub esi, eax
sbb edi, ecx
sub esi, dword [ebx + 8]
lea ecx, [ebp - 0x8c]
sbb edi, dword [ebx + 0xc]
lea eax, [esi + 1]
push eax
mov dword [ebp - 0x234], edi
call fcn.10006f3e
mov edi, dword [ebp + 0x7c]
lea eax, [ebp - 0x8c]
add edi, 0x64
push eax
mov ecx, edi
call fcn.10006f81
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x1000544d
dec dword [eax]
cmp dword [eax], 0
jne 0x1000544d
push eax
call fcn.1000dc88
pop ecx
mov eax, dword [edi]
test eax, eax
je 0x10005458
add eax, 8
jmp 0x1000545a
xor eax, eax
push esi
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
je 0x1000497e
cmp dword [ebp - 0x234], 0
ja 0x10005478
test esi, esi
jbe 0x100054dc
mov eax, dword [edi]
test eax, eax
je 0x10005483
add eax, 8
jmp 0x10005485
xor eax, eax
movzx eax, byte [eax]
mov dword [ebp + 0x6c], eax
cmp eax, 0x20
jae 0x100054dc
inc eax
xor ecx, ecx
cmp esi, eax
jne 0x100054dc
cmp dword [ebp - 0x234], ecx
jne 0x100054dc
mov eax, dword [edi]
test eax, eax
je 0x100054aa
add eax, 8
jmp 0x100054ac
xor eax, eax
mov ecx, dword [edi]
test ecx, ecx
je 0x100054b7
add ecx, 8
jmp 0x100054b9
xor ecx, ecx
dec esi
push esi
inc eax
push eax
push ecx
call fcn.1000eab0
mov eax, dword [edi]
add esp, 0xc
test eax, eax
je 0x100054d1
mov eax, dword [eax + 4]
jmp 0x100054d3
xor eax, eax
dec eax
push eax
mov ecx, edi
call fcn.10006fbd
mov eax, dword [edi]
test eax, eax
je 0x100054e7
add eax, 8
jmp 0x100054e9
xor eax, eax
mov edi, dword [edi]
test edi, edi
je 0x100054f4
mov edi, dword [edi + 4]
jmp 0x100054f6
xor edi, edi
mov byte [edi + eax - 1], 0
push dword [ebp - 0x148]
mov ecx, ebx
push dword [ebp - 0x14c]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0xe4]
jb 0x10003e45
ja 0x10005712
cmp eax, dword [ebp - 0xe8]
jb 0x10003e45
jmp 0x10005712
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor edi, edi
add esi, dword [ebx + 8]
adc edi, dword [ebx + 0xc]
add esi, dword [ebp - 0x60]
adc edi, dword [ebp - 0x5c]
xor ecx, ecx
add eax, dword [ebx + 8]
mov dword [ebp - 0x70], esi
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x6c], edi
cmp ecx, edi
ja 0x10005712
jae 0x1000570a
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.10001364
test al, al
je 0x10005712
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x220]
adc ecx, dword [ebp - 0x21c]
cmp dword [ebp - 0x12c], 0x656c7374
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
jne 0x100056ec
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x1000497e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x1000497e
cmp dword [ebp + 0x6c], 1
je 0x100055ff
cmp dword [ebp + 0x6c], 2
je 0x100055ff
cmp dword [ebp + 0x6c], 3
jne 0x100056e6
mov eax, dword [ebp + 0x7c]
and dword [eax + 0x38], 0
and dword [eax + 0x3c], 0
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x34]
lea esi, [ebp - 0x98]
lea edi, [ebp - 0x158]
call fcn.10001805
pop ecx
pop ecx
test al, al
je 0x1000497e
cmp dword [ebp + 0x6c], 1
jne 0x10005665
mov ecx, dword [ebp - 0x94]
test ecx, ecx
jl 0x100056e0
mov edx, dword [ebp - 0x98]
jg 0x10005653
test edx, edx
jbe 0x100056e0
mov eax, dword [ebp + 0x7c]
neg edx
adc ecx, 0
neg ecx
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ecx
jmp 0x100056e0
cmp dword [ebp + 0x6c], 2
jne 0x100056e0
cmp dword [ebp - 0x94], 0
jg 0x100056bb
jl 0x1000567f
cmp dword [ebp - 0x98], 0
jae 0x100056bb
cmp dword [ebp - 0xc0], 0x10000
jne 0x100056bb
push dword [ebp - 0x154]
mov esi, dword [ebp + 0x7c]
push dword [ebp - 0x158]
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.1000e800
mov ecx, dword [ebp + 0x68]
push dword [ecx + 0x6c]
push dword [ecx + 0x68]
push edx
push eax
call fcn.1000e970
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x34]
lea esi, [ebp - 0x98]
lea edi, [ebp - 0x158]
call fcn.10001805
pop ecx
pop ecx
test al, al
je 0x1000497e
mov edi, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
push ecx
push eax
mov ecx, ebx
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, edi
jb 0x1000556c
ja 0x10005712
cmp eax, esi
jb 0x1000556c
push dword [ebp - 0x160]
mov ecx, ebx
push dword [ebp - 0x164]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x16c]
jb 0x10003cf6
ja 0x1000574a
cmp eax, dword [ebp - 0x170]
jb 0x10003cf6
mov esi, dword [ebp + 0x7c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10005f53
cmp dword [esi + 0x70], 0
je 0x10005f53
cmp dword [esi + 0x7c], 0
je 0x10005f53
cmp dword [ebp + 0x58], 0
je 0x10005f53
cmp dword [esi + 0x94], 0
je 0x10005f53
cmp eax, 0x51444d32
je 0x10005795
cmp eax, 0x516d7033
jne 0x10005820
cmp dword [ebp + 0x10], 0
jbe 0x10005820
cmp dword [ebp], 0
jbe 0x10005820
lea edi, [esi + 0x6c]
mov eax, dword [edi]
cmp dword [eax], 1
jne 0x10005820
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x58], 0
jbe 0x100057db
push dword [ebp + 0x64]
lea ecx, [ebp + 0x54]
call fcn.1000754a
lea ecx, [eax + 4]
mov eax, dword [ecx]
xor edx, edx
div dword [ebp + 0x10]
inc dword [ebp + 0x64]
mov dword [ecx], eax
mov eax, dword [ebp + 0x64]
cmp eax, dword [ebp + 0x58]
jb 0x100057b9
mov eax, dword [esi + 0x68]
xor edx, edx
div dword [ebp + 0x10]
push 1
mov ecx, edi
mov dword [esi + 0x68], eax
call fcn.10007866
mov eax, dword [edi]
mov ecx, dword [ebp]
mov dword [eax], ecx
lea edi, [esi + 0x90]
mov eax, dword [edi]
mov eax, dword [eax + 4]
push 1
mov ecx, edi
mov dword [ebp + 0x3c], eax
call fcn.100078d9
mov eax, dword [edi]
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov eax, dword [ebp + 0x3c]
imul eax, dword [ebp + 0x10]
mov ecx, dword [edi]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x58]
and dword [ebp + 0x20], 0
dec eax
mov dword [ebp + 0x64], eax
je 0x100058e5
push dword [ebp + 0x20]
lea ecx, [ebp + 0x54]
call fcn.1000754a
cmp dword [eax], 0
je 0x1000681e
mov eax, dword [ebp + 0x20]
mov edi, dword [esi + 0x7c]
inc eax
push eax
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x24], eax
call fcn.1000754a
cmp dword [eax], edi
ja 0x1000681e
push dword [ebp + 0x20]
lea ecx, [ebp + 0x54]
call fcn.1000754a
mov edi, dword [eax]
push dword [ebp + 0x24]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x40], edi
call fcn.1000754a
cmp edi, dword [eax]
jae 0x100058d6
shl edi, 4
mov eax, dword [esi + 0x78]
push dword [ebp + 0x20]
lea eax, [edi + eax - 0x10]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x3c], eax
call fcn.1000754a
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x3c]
push dword [ebp + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x78]
lea eax, [edi + eax - 0x10]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x3c], eax
call fcn.1000754a
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x3c]
push dword [ebp + 0x24]
inc dword [ebp + 0x40]
mov dword [ecx + 0xc], eax
lea ecx, [ebp + 0x54]
add edi, 0x10
call fcn.1000754a
mov ecx, dword [ebp + 0x40]
cmp ecx, dword [eax]
jb 0x10005882
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x20], eax
cmp eax, dword [ebp + 0x64]
jb 0x10005831
push dword [ebp + 0x64]
lea ecx, [ebp + 0x54]
call fcn.1000754a
cmp dword [eax], 0
je 0x1000681e
push dword [ebp + 0x64]
mov edi, dword [esi + 0x7c]
lea ecx, [ebp + 0x54]
call fcn.1000754a
cmp dword [eax], edi
ja 0x1000681e
push dword [ebp + 0x64]
lea ecx, [ebp + 0x54]
call fcn.1000754a
mov eax, dword [eax]
mov dword [ebp + 0x40], eax
cmp eax, dword [esi + 0x7c]
ja 0x10005973
mov edi, eax
shl edi, 4
mov eax, dword [esi + 0x78]
push dword [ebp + 0x64]
lea eax, [edi + eax - 0x10]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x3c], eax
call fcn.1000754a
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 0x3c]
push dword [ebp + 0x64]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x78]
lea eax, [edi + eax - 0x10]
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x3c], eax
call fcn.1000754a
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x3c]
inc dword [ebp + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0x40]
add edi, 0x10
cmp eax, dword [esi + 0x7c]
jbe 0x10005929
cmp byte [esi + 4], 0
jne 0x10005989
mov byte [esi + 4], 0x75
mov byte [esi + 5], 0x6e
mov byte [esi + 6], 0x64
mov byte [esi + 7], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x72617720
je 0x100059a5
cmp eax, 0x736f7774
je 0x100059a5
cmp eax, 0x756c6177
jne 0x10005ab3
lea ecx, [esi + 0x90]
xor edi, edi
push edi
mov dword [ebp + 0x20], ecx
call fcn.100078d9
lea ecx, [esi + 0x6c]
push edi
mov dword [ebp + 0x64], ecx
call fcn.10007866
mov eax, dword [ebp - 0x10]
cmp eax, edi
jne 0x100059d6
mov eax, dword [esi + 0x48]
imul eax, dword [esi + 0x40]
shr eax, 3
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x40], edi
cmp dword [esi + 0x7c], edi
jbe 0x10005a9d
xor edi, edi
jmp 0x10005a26
push 0x1001d130
mov ecx, edi
call fcn.100018f0
jmp 0x10005f53
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10005a0c
dec dword [eax]
cmp dword [eax], 0
jne 0x10005a0c
push eax
call fcn.1000dc88
pop ecx
lea ecx, [ebp - 0x248]
call fcn.10009a1e
jmp 0x10005f53
push 0x1001d0f0
jmp 0x100059eb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x7c]
mov ecx, dword [ecx + 0x78]
mov esi, dword [edi + ecx + 8]
and dword [ebp + 0x24], 0
test esi, esi
jbe 0x10005a82
mov dword [ebp - 0x210], 1
jmp 0x10005a47
mov eax, dword [ebp - 0x10]
mov ecx, 0x2000
cmp esi, ecx
jae 0x10005a52
mov ecx, esi
imul eax, ecx
mov dword [ebp + 0x3c], eax
lea eax, [ebp + 0x3c]
sub esi, ecx
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp + 0x64]
push eax
call fcn.1000783a
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0x210]
push eax
call fcn.100078a4
inc dword [ebp + 0x24]
test esi, esi
ja 0x10005a44
mov eax, dword [ebp + 0x7c]
mov ecx, dword [eax + 0x78]
mov edx, dword [ebp + 0x24]
inc dword [ebp + 0x40]
mov dword [edi + ecx + 8], edx
mov ecx, dword [ebp + 0x40]
add edi, 0x10
cmp ecx, dword [eax + 0x7c]
jb 0x10005a23
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ecx + 0x70]
mov dword [ecx + 0x68], eax
movzx eax, word [ecx + 0x46]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov esi, ecx
mov eax, dword [esi + 0xc]
cmp eax, 0x766f6273
jne 0x10005d73
cmp dword [esi + 0x10], 0
je 0x10005acd
cmp dword [esi + 0x14], 0
jne 0x10005adb
mov dword [esi + 0x10], 0x2d00000
mov dword [esi + 0x14], 0x2400000
movzx eax, word [esi + 0x16]
push eax
movzx eax, word [esi + 0x12]
push eax
push 0x1001d0e8
lea eax, [ebp - 0x2a0]
push 0x20
push eax
call fcn.1000775a
mov eax, dword [0x10021138]
add esp, 0x14
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005b03
sub eax, edi
mov dword [ebp + 0x3c], eax
lea eax, [ebp - 0x2a0]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005b18
sub eax, edi
mov dword [ebp + 0x7c], eax
mov eax, dword [0x1002113c]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005b2c
sub eax, edi
mov edi, eax
mov eax, dword [0x10021140]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005b3f
sub eax, ecx
mov ecx, dword [ebp + 0x3c]
add eax, edi
add eax, dword [ebp + 0x7c]
lea eax, [eax + ecx + 0x7e]
push eax
lea ecx, [ebp - 0x20]
call fcn.10006f6f
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10005b69
lea edi, [eax + 8]
jmp 0x10005b6b
xor edi, edi
mov ecx, dword [0x10021138]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp + 0x7c], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005b79
sub eax, dword [ebp + 0x7c]
push eax
push ecx
push edi
call fcn.1000e050
mov eax, dword [0x10021138]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005b96
sub eax, ecx
add edi, eax
lea eax, [ebp - 0x2a0]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005baa
sub eax, ecx
push eax
lea eax, [ebp - 0x2a0]
push eax
push edi
call fcn.1000e050
lea eax, [ebp - 0x2a0]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005bcd
sub eax, ecx
mov ecx, dword [0x1002113c]
add edi, eax
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp + 0x7c], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005be6
sub eax, dword [ebp + 0x7c]
push eax
push ecx
push edi
call fcn.1000e050
mov eax, dword [0x1002113c]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10005c03
sub eax, ecx
lea ecx, [esi + 0x60]
add edi, eax
mov dword [ebp + 0x64], ecx
call fcn.10006fa3
and dword [ebp + 0x7c], 0
add eax, 2
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x24]
movzx eax, byte [ecx - 1]
movzx esi, byte [ecx]
movzx ecx, byte [ecx + 1]
mov edx, 0x80
sub eax, 0x10
sub ecx, edx
imul eax, eax, 0x12a
mov dword [ebp + 0x40], ecx
imul ecx, ecx, 0x199
mov dword [ebp + 0x3c], eax
lea eax, [ecx + eax + 0x80]
sar eax, 8
push eax
sub esi, edx
call fcn.100071e7
mov byte [ebp - 0x88], al
mov eax, dword [ebp + 0x40]
imul eax, eax, 0xd0
mov ecx, esi
imul ecx, ecx, 0xffffff9c
sub ecx, eax
mov eax, dword [ebp + 0x3c]
lea eax, [ecx + eax + 0x80]
sar eax, 8
push eax
call fcn.100071e7
imul esi, esi, 0x204
mov byte [ebp - 0xa0], al
mov eax, dword [ebp + 0x3c]
lea eax, [esi + eax + 0x80]
sar eax, 8
push eax
call fcn.100071e7
mov byte [ebp - 0xb8], al
mov al, byte [ebp - 0x88]
shr al, 4
movzx eax, al
push eax
call fcn.100071d2
push dword [ebp - 0x88]
mov byte [edi], al
inc edi
call fcn.100071d2
mov byte [edi], al
mov al, byte [ebp - 0xa0]
shr al, 4
movzx eax, al
push eax
inc edi
call fcn.100071d2
push dword [ebp - 0xa0]
mov byte [edi], al
inc edi
call fcn.100071d2
mov byte [edi], al
mov al, byte [ebp - 0xb8]
shr al, 4
movzx eax, al
push eax
inc edi
call fcn.100071d2
push dword [ebp - 0xb8]
mov byte [edi], al
inc edi
call fcn.100071d2
add esp, 0x24
mov byte [edi], al
inc edi
cmp dword [ebp + 0x7c], 0xf
je 0x10005d27
mov byte [edi], 0x2c
inc edi
mov byte [edi], 0x20
inc edi
add dword [ebp + 0x24], 4
inc dword [ebp + 0x7c]
cmp dword [ebp + 0x7c], 0x10
jb 0x10005c23
mov esi, dword [0x10021140]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10005d43
sub eax, edx
push eax
push esi
push edi
call fcn.1000e050
mov ecx, dword [ebp + 0x64]
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
call fcn.10006f81
push dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call fcn.10006f28
jmp 0x10005f68
cmp eax, 0x766f7262
jne 0x10005f68
lea ecx, [esi + 0x60]
call fcn.10006fa3
lea ecx, [esi + 0x60]
mov edi, eax
call fcn.10006fb0
and dword [ebp + 0x3c], 0
and dword [ebp - 0x1c], 0
add eax, edi
push 1
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x40], eax
call fcn.1000705d
and dword [ebp + 0x20], 0
lea eax, [edi + 2]
lea ecx, [ebp - 0x4c4]
mov dword [ebp + 0x64], eax
cmp eax, dword [ebp + 0x40]
ja 0x10005ea3
jmp 0x10005dc5
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp + 0x20], 0xff
jae 0x10005e9d
movzx eax, byte [edi]
movzx edx, byte [edi + 1]
shl eax, 8
or eax, edx
mov edx, dword [ebp + 0x64]
mov dword [ebp + 0x24], eax
add eax, edx
mov dword [ebp - 0x224], eax
cmp eax, dword [ebp + 0x40]
ja 0x10005e9d
lea eax, [ebp - 0x4c4]
sub ecx, eax
push ecx
push eax
lea ecx, [ebp + 0xc]
call fcn.1000709d
mov edi, dword [ebp + 0x24]
inc dword [ebp + 0x20]
mov esi, 0xff
lea eax, [ebp - 0x4c4]
mov dword [ebp + 0x24], edi
cmp edi, esi
jb 0x10005e4b
xor edx, edx
mov ecx, esi
mov eax, edi
div ecx
push eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x4c4]
push esi
push eax
call fcn.1000e8f0
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
lea eax, [ebp + ecx - 0x4c4]
sub dword [ebp + 0x24], esi
dec ecx
jne 0x10005e45
mov cl, byte [ebp + 0x24]
mov esi, dword [ebp + 0x64]
mov byte [eax], cl
push edi
inc eax
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
call fcn.1000709d
cmp edi, 0xc
jb 0x10005e85
cmp byte [esi], 1
jne 0x10005e85
push 3
inc esi
pop ecx
mov edi, 0x1001d0e0
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x10005e85
mov eax, dword [ebp + 0x64]
movzx eax, byte [eax + 0xb]
mov dword [ebp + 0x3c], eax
mov edi, dword [ebp - 0x224]
mov esi, dword [ebp + 0x7c]
lea eax, [edi + 2]
mov dword [ebp + 0x64], eax
cmp eax, dword [ebp + 0x40]
jbe 0x10005dc2
cmp dword [ebp + 0x20], 0
jne 0x10005ebc
and dword [ebp + 0x7c], 0
lea eax, [ebp + 0x7c]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
push 0
lea ecx, [ebp + 0x7c]
jmp 0x10005f11
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0xc]
call fcn.100070f0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10005ed4
mov ecx, dword [eax + 0xc]
jmp 0x10005ed6
xor ecx, ecx
mov al, byte [ebp + 0x20]
dec al
mov byte [ecx], al
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10005ee9
mov ecx, dword [eax + 4]
jmp 0x10005eeb
xor ecx, ecx
test eax, eax
je 0x10005ef4
mov eax, dword [eax + 0xc]
jmp 0x10005ef6
xor eax, eax
push ecx
push eax
lea ecx, [ebp - 8]
call fcn.1000778e
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.10006f81
push dword [ebp - 8]
lea ecx, [ebp - 8]
call fcn.10006f28
cmp dword [ebp + 0x3c], 0
je 0x10005f41
mov ecx, edi
call fcn.10006fb0
test eax, eax
je 0x10005f41
mov eax, dword [ebp + 0x3c]
push dword [ebp + 0xc]
mov dword [esi + 0x40], eax
call fcn.10006fd2
push dword [ebp - 0x1c]
call fcn.10006fd2
pop ecx
pop ecx
jmp 0x10005f68
push dword [ebp + 0xc]
call fcn.10006fd2
push dword [ebp - 0x1c]
call fcn.10006fd2
pop ecx
pop ecx
mov eax, dword [ebp + 0x68]
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp - 0x40]
push 1
dec eax
push eax
call fcn.1000a1a1
push dword [ebp - 0x74]
mov ecx, ebx
push dword [ebp - 0x78]
call fcn.1000d1b8
lea ecx, [ebp + 0x44]
call fcn.10007c83
lea ecx, [ebp + 0x54]
call fcn.10007c83
jmp 0x1000669c
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, edx
adc ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 0x10]
xor esi, esi
add edx, dword [ebx + 8]
mov dword [ebp - 0x1a8], eax
adc esi, dword [ebx + 0xc]
mov dword [ebp - 0x1a4], ecx
cmp esi, ecx
ja 0x1000669c
jb 0x10005fc3
cmp edx, eax
jae 0x1000669c
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x370]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.10001364
test al, al
je 0x1000669c
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x108]
adc ecx, dword [ebp - 0x104]
cmp dword [ebp - 0x1e4], 0x726d6461
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], ecx
jne 0x100061ba
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor edi, edi
add esi, dword [ebx + 8]
adc edi, dword [ebx + 0xc]
add esi, dword [ebp - 0x108]
adc edi, dword [ebp - 0x104]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, edi
ja 0x100061ba
jae 0x100061b2
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10001364
test al, al
je 0x100061ba
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0x230]
adc ecx, dword [ebp - 0x22c]
cmp dword [ebp - 0x138], 0x72647266
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], ecx
jne 0x1000618a
mov ecx, dword [ebp + 0x68]
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.10001496
test al, al
je 0x10006841
push 4
lea eax, [ebp - 0x120]
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
je 0x10006841
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
cmp dword [ebp + 0x38], 0x2000
jae 0x1000617e
push 0x10022550
lea ecx, [ebp - 0xc]
call fcn.1000791c
push dword [ebp + 0x38]
lea ecx, [ebp - 0xc]
call fcn.100081a5
push dword [ebp + 0x38]
mov ecx, ebx
push eax
call fcn.1000d0df
test al, al
je 0x10006828
push dword [ebp + 0x38]
lea ecx, [ebp - 0xc]
call fcn.100077e6
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x180]
mov byte [ebp - 0x11c], 0
call fcn.10009cef
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x17c]
call fcn.10008187
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x180]
push eax
add ecx, 0xb8
call fcn.10009dca
lea ecx, [ebp - 0x180]
call fcn.10008a82
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffff0
call fcn.1000123a
jmp 0x1000618a
push 0
push dword [ebp + 0x38]
mov ecx, ebx
call fcn.1000d16e
push dword [ebp - 0x18c]
mov ecx, ebx
push dword [ebp - 0x190]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, edi
jb 0x1000604b
ja 0x100061ba
cmp eax, esi
jb 0x1000604b
push dword [ebp - 0x198]
mov ecx, ebx
push dword [ebp - 0x19c]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x1a4]
jb 0x10005fc3
ja 0x1000669c
cmp eax, dword [ebp - 0x1a8]
jb 0x10005fc3
jmp 0x1000669c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x34]
push eax
mov ecx, edi
call fcn.10001496
test al, al
je 0x10006841
cmp byte [ebp + 0x34], 1
push 0
mov ecx, ebx
jne 0x10006255
push 0x10
call fcn.1000d16e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
lea esi, [edi + 0x60]
push esi
mov ecx, ebx
call fcn.1000d345
test al, al
je 0x10006841
mov eax, dword [ebp + 0x6c]
and dword [edi + 0x6c], 0
mov dword [edi + 0x68], eax
jmp 0x10006298
push 8
call fcn.1000d16e
lea eax, [ebp + 0x6c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
lea eax, [ebp + 0x38]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
mov eax, dword [ebp + 0x6c]
and dword [edi + 0x6c], 0
mov dword [edi + 0x68], eax
mov eax, dword [ebp + 0x38]
lea esi, [edi + 0x60]
and dword [esi + 4], 0
mov dword [esi], eax
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x2cc], eax
je 0x10006835
mov ecx, dword [esi]
mov eax, dword [esi + 4]
and dword [ebp - 0xf8], 0
and dword [ebp - 0xd0], 0
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0xf4], eax
mov ecx, 0x7fffffff
and eax, ecx
mov dword [ebp - 0x1fc], eax
fild qword [ebp - 0x200]
mov eax, 0x80000000
and dword [ebp - 0xf4], eax
fild qword [ebp - 0xf8]
mov dword [ebp - 0x208], edx
mov edx, dword [ebp - 0x2cc]
mov dword [ebp - 0xcc], edx
and dword [ebp - 0xcc], eax
fchs
faddp st(1)
and edx, ecx
mov dword [ebp - 0x204], edx
fmul qword [0x1001c6b0]
fild qword [ebp - 0x208]
fild qword [ebp - 0xd0]
fchs
faddp st(1)
fdivp st(1)
call fcn.1000e876
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x1000669c
and dword [ebp + 0x3c], 0
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x10]
xor edi, edi
add esi, dword [ebx + 8]
adc edi, dword [ebx + 0xc]
add esi, edx
adc edi, dword [ebp - 0x24]
xor ecx, ecx
add eax, dword [ebx + 8]
mov dword [ebp - 0x1c4], esi
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1c0], edi
cmp ecx, edi
ja 0x1000669c
jae 0x10006694
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.10001364
test al, al
je 0x1000669c
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
add eax, dword [ebp - 0xe0]
adc ecx, dword [ebp - 0xdc]
cmp dword [ebp + 4], 0x636d7664
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], ecx
je 0x100063e8
cmp dword [ebp + 4], 0x64636f6d
jne 0x1000666c
lea eax, [ebp + 0x3c]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
jmp 0x1000666c
lea eax, [ebp - 0x1c8]
push eax
mov ecx, ebx
call fcn.1000d279
test al, al
je 0x10006841
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffffc
push eax
lea ecx, [ebp + 0x18]
call fcn.1000705d
mov eax, dword [ebp + 0x18]
xor esi, esi
cmp eax, esi
je 0x1000641e
mov eax, dword [eax + 0xc]
jmp 0x10006420
xor eax, eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0xfffffffc
push ecx
push eax
mov ecx, ebx
call fcn.1000d0df
test al, al
je 0x10006848
push dword [ebp - 0x1c8]
lea ecx, [ebp + 0x1c]
call fcn.1000705d
cmp dword [ebp + 0x3c], 0x7a6c6962
jne 0x10006881
push 0x38
lea eax, [ebp - 0x310]
push esi
push eax
call fcn.1000e8f0
push 0x38
lea eax, [ebp - 0x310]
push 0x1001d0d8
push eax
call dword [0x1001c1d4]
add esp, 0x18
test eax, eax
jne 0x10006853
mov eax, dword [ebp + 0x18]
cmp eax, esi
je 0x10006495
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x310], ecx
jmp 0x1000649b
mov dword [ebp - 0x310], esi
cmp eax, esi
je 0x100064aa
mov eax, dword [eax + 4]
mov dword [ebp - 0x30c], eax
jmp 0x100064b0
mov dword [ebp - 0x30c], esi
mov eax, dword [ebp + 0x1c]
cmp eax, esi
je 0x100064c2
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x304], ecx
jmp 0x100064c8
mov dword [ebp - 0x304], esi
cmp eax, esi
je 0x100064d7
mov eax, dword [eax + 4]
mov dword [ebp - 0x300], eax
jmp 0x100064dd
mov dword [ebp - 0x300], esi
lea eax, [ebp - 0x310]
push 4
push eax
call dword [0x1001c1d0]
mov edi, eax
lea eax, [ebp - 0x310]
push eax
call dword [0x1001c1d8]
add esp, 0xc
cmp edi, 1
jne 0x10006873
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x18]
mov dword [ebp + 0x7c], esi
call fcn.1000707a
push esi
call fcn.10006fd2
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 0x68]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1b0], ecx
mov ecx, dword [ebp + 0x1c]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, esi
je 0x1000654c
inc dword [eax]
mov ecx, ebx
call fcn.10007153
mov eax, dword [ebp + 0x1c]
mov byte [ebp + 0x7f], 0
cmp eax, esi
je 0x10006563
mov ecx, dword [eax + 4]
jmp 0x10006565
xor ecx, ecx
mov esi, dword [ebx + 0x10]
xor eax, eax
add esi, dword [ebx + 8]
adc eax, dword [ebx + 0xc]
xor edx, edx
add esi, ecx
mov ecx, dword [ebx + 0x10]
adc eax, edx
add ecx, dword [ebx + 8]
mov dword [ebp - 0x2d4], eax
adc edx, dword [ebx + 0xc]
cmp edx, eax
ja 0x10006627
jb 0x10006597
cmp ecx, esi
jae 0x10006627
mov ecx, dword [ebp + 0x68]
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.10001364
test al, al
je 0x10006627
mov edi, dword [ebx + 0x10]
xor eax, eax
add edi, dword [ebx + 8]
adc eax, dword [ebx + 0xc]
add edi, dword [ebp - 0xf0]
adc eax, dword [ebp - 0xec]
cmp dword [ebp - 0x144], 0x6d6f6f76
mov dword [ebp - 0x2b4], eax
jne 0x100065f8
push dword [ebp - 0xec]
mov ecx, dword [ebp + 0x68]
push dword [ebp - 0xf0]
call fcn.10003902
mov byte [ebp + 0x7f], al
push dword [ebp - 0x2b4]
mov ecx, ebx
push edi
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x2d4]
jb 0x10006597
ja 0x10006627
cmp eax, esi
jb 0x10006597
push dword [ebp - 0x40]
mov ecx, ebx
call fcn.10007116
push dword [ebp - 0x1b0]
mov ecx, ebx
push dword [ebp - 0x1b4]
call fcn.1000d1b8
cmp byte [ebp + 0x7f], 0
je 0x1000687a
push dword [ebp + 0x1c]
call fcn.10006fd2
push dword [ebp + 0x18]
call fcn.10006fd2
mov edi, dword [ebp - 0x1c0]
mov esi, dword [ebp - 0x1c4]
pop ecx
pop ecx
push dword [ebp - 0x1cc]
mov ecx, ebx
push dword [ebp - 0x1d0]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, edi
jb 0x10006375
ja 0x1000669c
cmp eax, esi
jb 0x10006375
push dword [ebp - 0x74]
mov ecx, ebx
push dword [ebp - 0x78]
call fcn.1000d1b8
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
adc ecx, dword [ebx + 0xc]
cmp ecx, dword [ebp - 0x1d8]
jb 0x10003952
ja 0x100066ce
cmp eax, dword [ebp - 0x1dc]
jb 0x10003952
mov edi, dword [ebp + 0x68]
and dword [ebp + 0x7c], 0
cmp dword [edi + 0x8c], 0
jbe 0x1000693b
push dword [ebp + 0x7c]
lea ecx, [edi + 0x88]
call fcn.100074dc
cmp dword [eax + 0xc], 0x74783367
jne 0x10006929
xor esi, esi
mov ebx, 0x280
mov dword [ebp + 0x3c], 0x1e0
cmp dword [edi + 0x8c], esi
jbe 0x100068ab
push esi
lea ecx, [edi + 0x88]
call fcn.100074dc
cmp dword [eax + 8], 0x76696465
je 0x10006888
inc esi
cmp esi, dword [edi + 0x8c]
jb 0x10006717
jmp 0x100068ab
cmp eax, esi
je 0x1000674f
dec dword [eax]
cmp dword [eax], esi
jne 0x1000674f
push eax
call fcn.1000dc88
pop ecx
push dword [ebp - 0x48]
lea ecx, [ebp - 0x48]
call fcn.10006f28
jmp 0x10006841
push 0x1001d0b8
jmp 0x100067c1
push 0x1001d08c
jmp 0x100067c1
push 0x1001d06c
jmp 0x100067c1
cmp dword [ebp + 0x44], edi
je 0x10006782
push dword [ebp + 0x44]
call fcn.1000dc88
pop ecx
lea ecx, [ebp + 0x54]
call fcn.10007c83
jmp 0x10006841
mov ecx, dword [ebp + 0x68]
push 0x1001d020
call fcn.100018f0
cmp dword [ebp + 0x44], esi
je 0x100067aa
push dword [ebp + 0x44]
call fcn.1000dc88
pop ecx
cmp dword [ebp + 0x54], esi
jmp 0x10004991
push 0x1001cfec
jmp 0x100067be
push 0x1001cfb8
mov ecx, dword [ebp + 0x68]
call fcn.100018f0
jmp 0x10003df9
push 0x1001cf84
jmp 0x10006811
push 0x1001cf50
jmp 0x10006811
push 0x1001d020
jmp 0x10006811
push 0x1001cf18
jmp 0x10006811
push 0x1001cef8
jmp 0x100067c1
push 0x1001cecc
jmp 0x100067c1
push 0x1001ceac
call fcn.100018f0
lea ecx, [ebp + 0x44]
call fcn.10007c83
jmp 0x10006782
push 0x1001ce7c
mov ecx, dword [ebp + 0x68]
call fcn.100018f0
jmp 0x1000497e
mov ecx, dword [ebp + 0x68]
push 0x1001ce40
jmp 0x100067fa
mov ecx, dword [ebp - 0xc]
add ecx, 0xfffffff0
call fcn.1000123a
jmp 0x10006841
push 0x1001ce10
mov ecx, edi
call fcn.100018f0
xor al, al
jmp 0x1000693d
push dword [ebp + 0x18]
call fcn.10006fd2
pop ecx
jmp 0x10006841
push 0x1001cddc
mov ecx, dword [ebp + 0x68]
call fcn.100018f0
push dword [ebp + 0x1c]
call fcn.10006fd2
push dword [ebp + 0x18]
call fcn.10006fd2
pop ecx
jmp 0x10006850
push 0x1001cd98
jmp 0x10006858
push 0x1001cd58
jmp 0x10006858
push 0x1001cd08
jmp 0x10006858
push esi
lea ecx, [edi + 0x88]
call fcn.100074dc
movzx ebx, word [eax + 0x12]
push esi
lea ecx, [edi + 0x88]
call fcn.100074dc
movzx eax, word [eax + 0x16]
mov dword [ebp + 0x3c], eax
lea ecx, [ebp + 4]
call fcn.10008108
push dword [ebp + 0x3c]
lea eax, [ebp + 4]
push ebx
push dword [0x10021144]
push eax
call fcn.100096c2
mov esi, dword [ebp + 4]
add esp, 0x10
push dword [esi - 0xc]
lea ecx, [ebp - 8]
push esi
call fcn.1000778e
push eax
push dword [ebp + 0x7c]
lea ecx, [edi + 0x88]
call fcn.100074dc
mov ecx, eax
add ecx, 0x60
call fcn.10006f81
push dword [ebp - 8]
lea ecx, [ebp - 8]
call fcn.10006f28
push dword [ebp + 0x7c]
lea ecx, [edi + 0x88]
call fcn.100074dc
push dword [ebp + 0x7c]
lea ecx, [edi + 0x88]
mov dword [eax + 0x40], ebx
call fcn.100074dc
mov ecx, dword [ebp + 0x3c]
mov dword [eax + 0x44], ecx
lea ecx, [esi - 0x10]
call fcn.1000123a
inc dword [ebp + 0x7c]
mov eax, dword [ebp + 0x7c]
cmp eax, dword [edi + 0x8c]
jb 0x100066e2
mov al, 1
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8