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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [0x41f214]
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x64], eax
mov esi, dword [edi + 0x1d0]
test esi, esi
jne 0x13af805
push 0xe8
push 1
call fcn.013a300b
add esp, 8
mov dword [edi + 0x1d0], eax
mov dword [eax], 0
mov esi, dword [edi + 0x1d0]
mov edx, dword [esi]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
xor ebp, ebp
cmp edx, 0x27fa
jg 0x13af86a
cmp edx, 0x2593
jle 0x13af8be
cmp edx, 0x26d2
jg 0x13af975
cmp edx, 0x2594
je 0x13afac4
cmp edx, 0x2644
je 0x13afad6
cmp edx, 0x268a
jne 0x13b26c7
test ecx, ecx
je 0x13b0471
push 0x406acb
jmp 0x13b08cb
cmp edx, 0x290a
jle 0x13af917
cmp edx, 0x29f6
jg 0x13afa1e
cmp edx, 0x290b
je 0x13afe5c
cmp edx, 0x294a
je 0x13aff7f
cmp edx, 0x298d
jne 0x13b26c7
mov ebp, edi
mov edi, esi
xor esi, esi
test ecx, ecx
jne 0x13afe6b
mov ebp, 0x298d
jmp 0x13b080c
cmp edx, 0x246d
jle 0x13afa57
cmp edx, 0x246e
je 0x13affa8
cmp edx, 0x24cd
je 0x13affc4
cmp edx, 0x2555
jne 0x13b26c7
mov ebp, 0x2555
test ecx, ecx
jne 0x13b26c7
push eax
push ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x13b1964
cmp edx, 0x2897
jle 0x13afa85
cmp edx, 0x2898
je 0x13affd6
cmp edx, 0x28be
je 0x13affff
cmp edx, 0x28dc
mov ebp, 0
jne 0x13b26c7
mov ebp, 0x28dc
test ecx, ecx
jne 0x13b26c7
push eax
push ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x13b203b
cmp edx, 0x26d3
je 0x13b012a
cmp edx, 0x26f7
je 0x13b019e
cmp edx, 0x27aa
jne 0x13b26c7
test ecx, ecx
je 0x13b25b1
cmp dword [ecx + 8], 0x3c
jne 0x13b0678
mov dword [esp], edi
mov edi, esi
lea esi, [esp + 0x44]
lea ebx, [esp + 0x40]
mov edx, ebx
push esi
call fcn.013aef11
add esp, 4
mov eax, dword [ebx]
mov dword [edi + 0xd4], eax
mov edx, dword [esi]
mov dword [edi + 0xd0], edx
mov ecx, dword [edi + 0xc8]
lea esi, [ecx + 2]
cmp edx, esi
mov esi, edi
jne 0x13afa0a
cmp byte [eax], 6
jne 0x13afa0a
movsx edx, byte [eax + 1]
cmp ecx, edx
jne 0x13afa0a
add eax, 2
push ecx
push dword [esi + 0xcc]
push eax
call fcn.013e0319
add esp, 0xc
test eax, eax
je 0x13b0e48
push 0x407a19
mov edi, dword [esp + 4]
push dword [edi + 0x110]
jmp 0x13b0683
cmp edx, 0x29f7
je 0x13b01c7
cmp edx, 0x2a84
je 0x13b022b
cmp edx, 0x2ab1
jne 0x13b26c7
test ecx, ecx
je 0x13b04e9
push dword [ecx + 8]
push 0x407f45
jmp 0x13b0864
test edx, edx
je 0x13b025f
cmp edx, 0x2463
jne 0x13b26c7
test ecx, ecx
je 0x13b090a
cmp dword [ecx + 8], 6
lea eax, [esi + 8]
je 0x13b02d9
jmp 0x13b0560
cmp edx, 0x27fb
je 0x13b02e4
cmp edx, 0x283f
jne 0x13b26c7
test ecx, ecx
je 0x13b23f5
cmp dword [ecx + 8], 0x3c
je 0x13b0011
xor eax, eax
inc eax
mov dword [esi + 0xc], eax
mov dword [esi + 4], 7
mov dword [esi + 0x30], eax
jmp 0x13b1a66
test ecx, ecx
jne 0x13b1a79
mov ebp, 0x2594
jmp 0x13b26c7
test ecx, ecx
je 0x13b2293
cmp dword [ecx + 8], 0x3c
jne 0x13b068d
test byte [0x41df54], 1
je 0x13afb29
mov edx, 0x4078f8
mov ecx, edi
push 0x20
call fcn.013ab567
add esp, 4
mov edx, dword [esi + 0x90]
mov ecx, edi
push dword [esi + 0x9c]
call fcn.013ab567
add esp, 4
mov edx, 0x406c55
mov ecx, edi
push 0xe
call fcn.013ab567
add esp, 4
mov ecx, 0x32
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078c9
call fcn.013aa143
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
inc edx
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov byte [ecx + eax - 1], 1
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
add edx, 4
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov ebp, edi
mov edi, esi
xor esi, esi
mov dword [ecx + eax - 4], esi
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [edi + 0x8c]
mov ecx, dword [edi + 0xb8]
push dword [edi + 0x98]
call fcn.013ab857
add esp, 4
mov ebx, dword [edi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
add edx, 4
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + eax - 4], esi
mov esi, edi
mov edi, ebp
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [esi + 0x88]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x94]
call fcn.013ab857
add esp, 4
mov eax, dword [esi + 0xb8]
mov ecx, dword [edi + 0xe4]
mov eax, dword [eax]
lea eax, [eax + ecx - 1]
mov dword [esi + 0xa0], eax
cmp byte [edi + 0x50], 0
jns 0x13afc2b
add eax, 0xfffffffc
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x94]
lea edx, [ecx + eax + 0xd]
lea eax, [ecx + eax + 0x11]
mov dword [esi + 0xa8], edx
push 1
push eax
call fcn.013a300b
add esp, 8
mov dword [esi + 0xb0], eax
mov cl, byte [esi + 0xab]
mov byte [eax], cl
mov al, byte [esi + 0xaa]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 1], al
mov al, byte [esi + 0xa9]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 2], al
mov al, byte [esi + 0xa8]
mov ecx, dword [esi + 0xb0]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xb0]
lea ecx, [eax + 5]
mov dword [esi + 0xac], ecx
mov byte [eax + 4], 0xd
mov al, byte [esi + 0x97]
mov ecx, dword [esi + 0xac]
mov byte [ecx], al
mov al, byte [esi + 0x96]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [esi + 0x95]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [esi + 0x94]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
push dword [esi + 0x94]
push dword [esi + 0x88]
push eax
call fcn.013e1a9c
add esp, 0xc
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xac]
lea edx, [ecx + eax]
mov dword [esi + 0xac], edx
mov dl, byte [esi + 0xa3]
mov byte [ecx + eax], dl
mov al, byte [esi + 0xa2]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [esi + 0xa1]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [esi + 0xa0]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
cmp byte [edi + 0x50], 0
js 0x13afd9b
mov cl, byte [edi + 0xe7]
mov byte [eax], cl
mov al, byte [edi + 0xe6]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 1], al
mov al, byte [edi + 0xe5]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 2], al
mov al, byte [edi + 0xe4]
mov ecx, dword [esi + 0xac]
mov byte [ecx + 3], al
mov eax, dword [esi + 0xac]
add eax, 4
mov dword [esi + 0xac], eax
lea ecx, [edi + 0xa4]
push dword [edi + 0xe4]
push ecx
push eax
call fcn.013e1a9c
add esp, 0xc
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb8]
add eax, dword [edi + 0xe4]
mov dword [esi + 0xac], eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add edx, 0xfffffffb
add ecx, 5
push edx
push ecx
push eax
call fcn.013e1a9c
add esp, 0xc
mov ecx, dword [esi + 0xb8]
mov eax, dword [esi + 0xac]
lea edx, [esp + 0x50]
mov ecx, dword [ecx]
lea eax, [eax + ecx - 5]
xor ecx, ecx
mov dword [esi + 0xac], eax
mov byte [eax], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 1], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 2], cl
mov eax, dword [esi + 0xac]
mov byte [eax + 3], cl
lea eax, [esi + 0xa4]
mov ecx, dword [esi + 0xa8]
add ecx, 4
push edi
push 0x437cc4
push eax
push edx
push ecx
push dword [esi + 0xb0]
call fcn.013dab42
add esp, 0x18
mov ebp, 0x268a
test eax, eax
mov dword [edi + 0x6d0], eax
jne 0x13b26c7
mov eax, dword [esp + 0x50]
jmp 0x13b0494
test ecx, ecx
je 0x13b20fb
mov ebp, edi
mov edi, esi
xor esi, esi
inc esi
cmp dword [ecx + 8], 0x3c
jne 0x13b0440
test esi, esi
mov eax, 0x407c10
mov ebx, 0x407bef
cmove ebx, eax
push ebx
push dword [ebp + 0x110]
call fcn.013d5f4d
add esp, 8
lea eax, [esi*4 + 0x1c]
mov ecx, ebp
mov edx, ebx
push eax
call fcn.013ab567
add esp, 4
mov edx, 0x402d2c
mov ecx, ebp
push 2
call fcn.013ab567
add esp, 4
mov ecx, dword [esp + 0x80]
lea ebx, [esp + 0x1c]
lea esi, [esp + 0x18]
mov edx, ebx
push esi
call fcn.013aef11
add esp, 4
mov dword [esp], ebp
push dword [ebp + 0x110]
call fcn.013a2fd8
add esp, 4
mov ebp, edi
xor edi, edi
inc edi
mov dword [ebp + 0x3c], eax
mov dword [eax], edi
push 0x407c2d
call fcn.013a2fa2
add esp, 4
mov ecx, dword [ebp + 0x3c]
mov dword [ecx + 4], eax
mov ecx, 0x402159
mov eax, dword [ebx]
test eax, eax
cmovne ecx, eax
push ecx
push dword [esi]
mov esi, ebp
push 0x4021cd
call fcn.013a2f5c
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [eax + 0x10], edi
push 0x407c3e
call fcn.013a2fa2
add esp, 4
xor ebx, ebx
push ebx
push eax
push dword [esi + 0x3c]
call fcn.013a308b
add esp, 0xc
push 0x407c79
call fcn.013a2fa2
add esp, 4
push ebx
push eax
push dword [esi + 0x3c]
call fcn.013a308b
add esp, 0xc
push 0x407c8e
call fcn.013a2fa2
add esp, 4
push ebx
push eax
push dword [esi + 0x3c]
call fcn.013a308b
add esp, 0xc
jmp 0x13b1035
mov ebp, 0x294a
test ecx, ecx
jne 0x13b26c7
push eax
push ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x13b1105
test ecx, ecx
je 0x13b0897
cmp dword [ecx + 8], 6
je 0x13b02d6
push 0x40763e
jmp 0x13b04dc
test ecx, ecx
je 0x13b050c
push 0x406acb
jmp 0x13b04dc
mov ebp, 0x2898
test ecx, ecx
jne 0x13b26c7
push eax
push ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x13b076a
test ecx, ecx
je 0x13b0531
cmp dword [ecx + 8], 0x3c
jne 0x13b06ae
lea eax, [esp + 0x28]
mov ebx, ecx
lea edx, [esp + 0x34]
push eax
call fcn.013aef11
add esp, 4
lea eax, [esp + 0x24]
lea edx, [esp + 0x30]
mov ecx, ebx
push eax
call fcn.013aef11
add esp, 4
lea eax, [esp + 0x20]
lea edx, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.013aef11
add esp, 4
mov dword [esp], edi
push dword [edi + 0x110]
call fcn.013a2fd8
add esp, 4
mov ecx, ebx
mov dword [esi + 0x3c], eax
mov dword [eax], 1
call fcn.013aeef2
mov ebp, esi
test eax, eax
mov dword [esi + 0x40], eax
jle 0x13b0104
xor edi, edi
lea esi, [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov edx, esi
lea eax, [esp + 0x48]
mov ecx, ebx
push eax
call fcn.013aef11
mov edx, ebx
add esp, 4
mov eax, dword [edx + 0x18]
mov ebx, 0
cmp dword [edx], eax
jle 0x13b00b4
mov ecx, dword [edx + 0x14]
xor ebx, ebx
cmp byte [ecx + eax], 0
setne bl
inc eax
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x13b00c2
mov ecx, dword [esp + 0x60]
jmp 0x13b00dc
mov ecx, 0x41f12c
mov eax, 0x20
mov dword [esp + 0x60], 0x41f12c
mov dword [esp + 0x48], 0x20
push ecx
push eax
push 0x4021cd
call fcn.013a2f5c
add esp, 0xc
push ebx
push eax
mov ebx, ebp
push dword [ebx + 0x3c]
call fcn.013a308b
add esp, 0xc
inc edi
cmp edi, dword [ebx + 0x40]
jl 0x13b007e
mov esi, dword [esp + 0x28]
test esi, esi
je 0x13b06fa
xor edi, edi
inc edi
push dword [esp + 0x34]
push esi
push 0x407b93
call fcn.013a2f5c
add esp, 0xc
jmp 0x13b0709
test ecx, ecx
je 0x13b268b
cmp dword [ecx + 8], 0x3c
jne 0x13b06ba
push 0x40792c
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
xor ebx, ebx
test byte [0x41df54], 1
je 0x13b11fa
mov edx, 0x4078f8
mov ecx, edi
push 0x20
call fcn.013ab567
add esp, 4
mov ebp, dword [esi + 0x64]
push ebp
call fcn.013ef39c
add esp, 4
mov ecx, edi
mov edx, ebp
push eax
call fcn.013ab567
add esp, 4
mov edx, 0x407949
mov ecx, edi
push 3
call fcn.013ab567
add esp, 4
jmp 0x13b11fa
mov ebp, 0x26f7
test ecx, ecx
jne 0x13b26c7
push eax
push ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov dword [edi + 0x100], 0
jmp 0x13b14b2
test ecx, ecx
je 0x13b1cc6
mov eax, dword [ecx + 8]
lea edx, [eax - 0x5b]
cmp edx, 2
jae 0x13b06cd
mov ebx, ecx
call fcn.013aeef2
mov ecx, dword [edi + 0x128]
cmp eax, dword [ecx + 8]
jne 0x13b08c6
cmp dword [ebx + 8], 0x5c
jne 0x13b0b13
mov ecx, ebx
call fcn.013b51a9
mov ebx, edi
mov edi, eax
push edi
push 0x407ded
call fcn.013a2f5c
add esp, 8
mov ecx, ebx
mov edx, eax
call fcn.013af393
push edi
call fcn.013a31d8
jmp 0x13b0504
test ecx, ecx
je 0x13b053b
mov eax, dword [ecx + 8]
cmp eax, 0x63
je 0x13b0846
cmp eax, 0x64
jne 0x13b085e
cmp dword [edi + 0x174], 0
je 0x13b0b7d
push 0x407f05
jmp 0x13b04dc
mov eax, 0x438294
movd xmm0, eax
mov dword [edi + 0x288], eax
pshufd xmm0, xmm0, 0
movdqu xmmword [edi + 0x338], xmm0
mov dword [edi + 0x360], eax
mov dword [edi + 0x364], eax
mov dword [edi + 0x3b0], eax
mov dword [edi + 0x3b4], eax
mov dword [edi + 0x3b8], eax
movdqu xmmword [edi + 0x3d8], xmm0
mov dword [edi + 0x3e8], eax
mov dword [edi + 0x3ec], eax
mov dword [edi + 0x3f0], eax
mov dword [edi + 0x3f4], eax
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x2c], eax
cmp dword [edi + 0xec], eax
je 0x13b0545
lea eax, [esi + 0x34]
mov dword [eax], 1
jmp 0x13b0569
test ecx, ecx
je 0x13b066e
cmp dword [ecx + 8], 0x3d
jne 0x13b06d8
mov dword [esp], edi
mov edi, esi
lea esi, [esp + 0x44]
lea ebx, [esp + 0x40]
mov edx, ebx
push esi
call fcn.013aef11
add esp, 4
mov eax, dword [ebx]
mov dword [edi + 0xd4], eax
mov eax, dword [esi]
mov esi, edi
mov edi, dword [esp]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xe4]
cmp eax, 1
jne 0x13b0968
lea eax, [esi + 0xe4]
lea ecx, [esi + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esi + 0xc0]
lea edi, [esi + 0xd8]
lea ebp, [esi + 0xd0]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x14], eax
push 0x28
mov ebx, dword [esp + 4]
push dword [ebx + 0x248]
call fcn.013a147b
add esp, 8
mov dword [esp + 0x10], edi
push edi
push ebp
push eax
push dword [esi + 0xe0]
push dword [esp + 0x18]
push dword [esi + 0xc0]
call dword [esp + 0x2c]
mov edi, ebx
add esp, 0x18
mov dword [esi + 0xe4], eax
cmp eax, 2
mov eax, dword [edi + 0x110]
jae 0x13b0914
push 0x407aef
push eax
call fcn.013d5f4d
add esp, 8
mov ebp, dword [esp + 0x10]
cmp dword [ebp], 0
je 0x13b0427
mov ecx, 0x3d
call fcn.013a9f0c
mov ebx, eax
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edx, dword [ebx]
add edx, 4
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xdc]
push dword [esi + 0xd8]
call fcn.013ab857
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
mov eax, dword [esi + 0xc0]
push ebp
push eax
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 4]
mov ebp, 0x27fb
mov eax, dword [eax]
cmp eax, 1
jne 0x13b0968
jmp 0x13b26c7
mov dword [edi + 0xc], 1
mov esi, dword [edi + 0x48]
push esi
call fcn.013ef39c
add esp, 4
push eax
push esi
mov esi, edi
call fcn.013d78fa
add esp, 8
push dword [esi + 0x48]
call fcn.013a31d8
add esp, 4
mov edi, ebp
jmp 0x13b1a66
mov ebp, 0x268a
test eax, eax
jg 0x13b26c7
mov eax, dword [edi + 0x254]
mov dword [esp + 0x50], eax
mov ecx, dword [edi + 0x258]
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xb4], eax
push dword [esi + 0xb0]
call fcn.013a31d8
add esp, 4
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x13b0696
mov ecx, dword [esi + 0xa4]
cmp ecx, 9
jl 0x13b04d7
cmp byte [eax + 4], 0xe
jne 0x13b04d7
mov eax, dword [eax + 5]
add ecx, 0xfffffff7
bswap eax
cmp eax, ecx
jbe 0x13b0dee
push 0x406c84
call fcn.013a2f5c
add esp, 4
jmp 0x13b15c6
mov ecx, dword [edi + 0x128]
mov ebp, 0x2ab1
test ecx, ecx
je 0x13b26c7
mov edx, ebx
push eax
call fcn.013a9642
add esp, 4
jmp 0x13b26c7
mov ebp, 0x24cd
test eax, eax
jg 0x13b26c7
mov ebx, dword [edi + 0x254]
mov dword [esp + 0x5c], ebx
mov eax, dword [edi + 0x258]
mov dword [esi + 0x78], eax
jmp 0x13b0d0e
mov ebp, 0x28be
jmp 0x13b26c7
mov ebp, 0x2a84
jmp 0x13b26c7
push 0x23
push dword [edi + 0x248]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b08e1
lea eax, [esi + 8]
cmp dword [eax], 0
je 0x13b086e
lea eax, [edi + 0x178]
push eax
call fcn.013a374e
add esp, 4
xor eax, eax
mov dword [edi + 0x344], 0x4382a9
mov dword [esi + 0x50], eax
cmp dword [esi + 0x34], eax
je 0x13b059e
mov dword [esi + 0x4c], 0
lea ebp, [esi + 0x34]
mov ecx, dword [esi + 0x34]
jmp 0x13b15d6
push 0x20
push dword [edi + 0x248]
call fcn.013a18db
add esp, 8
mov dword [esi + 0xbc], eax
push eax
call fcn.013d78b8
add esp, 4
test eax, eax
jne 0x13b0c89
push dword [esi + 0xbc]
call fcn.013d78b1
add esp, 4
push eax
push 0x4069e2
push edi
call fcn.013a90da
add esp, 0xc
push dword [esi + 0xbc]
call fcn.013cab41
add esp, 4
mov ebx, eax
cmp ebx, 0xa
ja 0x13b0c21
mov eax, 0x608
bt eax, ebx
jae 0x13b0c21
mov ebp, edi
lea eax, [esi + 0x64]
lea ecx, [esi + 0x54]
lea edx, [esi + 0x60]
mov edi, esi
lea esi, [esp + 0x60]
push esi
mov esi, edi
push eax
push ecx
push edx
push dword [esi + 0xbc]
call fcn.013ca411
add esp, 0x14
test eax, eax
mov dword [esi + 0x50], eax
je 0x13b0bc7
xor eax, eax
cmp ebx, 3
mov edi, ebp
sete al
mov dword [esi + 0x58], eax
je 0x13b0656
push 0x4069fc
push edi
call fcn.013a90da
add esp, 8
push 0
push dword [esi + 0xbc]
call fcn.013ca8bf
add esp, 8
mov dword [esi + 0x5c], eax
jmp 0x13b0c89
mov ebp, 0x27fb
jmp 0x13b26c7
push 0x4079f3
push dword [edi + 0x110]
call fcn.013d5f4d
jmp 0x13b0991
lea eax, [esi + 0xc]
mov dword [eax], 1
cmp dword [esi + 0x7c], 0
je 0x13b08a1
xor eax, eax
inc eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
jmp 0x13b1a66
mov dword [esi + 0xc], 1
jmp 0x13b1a66
mov dword [esi + 0xc], 1
mov dword [esi + 4], 2
jmp 0x13b1a66
push eax
push 0x407d64
jmp 0x13b0864
push 0x407b11
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov dword [esi + 0xe4], 4
jmp 0x13b096c
xor edi, edi
push 0x407ba4
call fcn.013a2fa2
add esp, 4
mov ecx, dword [ebp + 0x3c]
mov dword [ecx + 4], eax
mov ecx, 0
mov eax, dword [ebp + 0x3c]
mov dword [eax + 8], edi
xor edi, edi
or esi, dword [ebp + 0x40]
mov eax, dword [esp + 0x24]
or esi, eax
mov esi, ebp
je 0x13b0754
mov ecx, 0x406f97
test eax, eax
mov edx, 0x402159
cmovne edx, ecx
push dword [esp + 0x30]
push eax
push edx
push 0x407bbe
call fcn.013a2f5c
add esp, 0x10
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0xc], eax
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x3c]
mov dword [eax + 0x10], ecx
push edi
push edi
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov edi, dword [esp]
test eax, eax
js 0x13b0813
je 0x13b0827
mov ecx, 0x3d
mov dword [esp], edi
call fcn.013a9f0c
mov edi, eax
mov dword [esi + 0xb8], edi
mov ecx, edi
mov ebx, dword [esi + 0x40]
mov eax, ebx
mov ebp, ebx
shr eax, 0x18
shr ebp, 0x10
mov dword [esp + 4], eax
mov edx, dword [edi]
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 4]
mov edi, esi
mov byte [ecx + eax - 4], dl
mov edx, ebp
mov byte [ecx + eax - 3], dl
mov byte [ecx + eax - 2], bh
mov byte [ecx + eax - 1], bl
cmp dword [esi + 0x40], 0
jle 0x13b07ee
xor esi, esi
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0xb8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 8]
call fcn.013aa143
inc esi
cmp esi, dword [edi + 0x40]
jl 0x13b07d1
mov edx, dword [edi + 0xb8]
mov ecx, dword [esp]
call fcn.013b4ffc
push dword [edi + 0x3c]
call fcn.013a3212
add esp, 4
mov ebp, 0x28be
mov esi, edi
jmp 0x13b26c7
mov dword [edi + 0x100], 1
mov ebp, 0x2898
jmp 0x13b26c7
push dword [esi + 0x3c]
call fcn.013a3212
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x406d90
jmp 0x13b2417
push 0x407f2d
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
jmp 0x13b1796
push eax
push 0x407e9c
call fcn.013a2f5c
add esp, 8
jmp 0x13b08d3
mov ecx, 5
call fcn.013a9f0c
mov edx, 0x40762f
mov ecx, eax
mov dword [esi + 0xb8], eax
call fcn.013aa143
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
mov ebp, 0x246e
jmp 0x13b26c7
mov eax, dword [esi + 0x80]
inc eax
mov dword [esi + 0x80], eax
cmp eax, dword [esi + 0x84]
jl 0x13b1a66
mov dword [esi + 0x24], 1
jmp 0x13b1a66
push 0x407dab
call fcn.013a2f5c
add esp, 4
mov ecx, edi
mov edx, eax
call fcn.013af393
jmp 0x13b26c7
mov ecx, 5
call fcn.013a9f0c
mov edx, 0x407622
mov ecx, eax
mov dword [esi + 0xb8], eax
call fcn.013aa143
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
mov ebp, 0x2463
jmp 0x13b26c7
push 0x407ac3
push eax
call fcn.013d5f4d
add esp, 8
mov ecx, dword [esi + 0xc0]
lea eax, [esi + 0xc8]
push eax
push dword [esi + 0xc4]
push ecx
call dword [ecx + 0x2c]
add esp, 0xc
test eax, eax
jne 0x13b0962
push dword [esi + 0xcc]
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
push dword [esi + 0xcc]
call fcn.013a31d8
add esp, 4
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
je 0x13b0999
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xe0]
push ecx
push eax
call dword [eax + 0x10]
add esp, 8
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xc4]
push ecx
push eax
call dword [eax + 0x20]
add esp, 8
jmp 0x13b1a66
push 0x407b3d
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
xor ecx, ecx
call fcn.013a9f0c
mov ebx, eax
mov ebp, edi
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edi, dword [ebx]
lea edx, [edi + 4]
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov dword [ecx + eax - 4], edx
lea edx, [ebp + 0xa4]
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0xb8]
push dword [ebp + 0xe4]
call fcn.013ab857
add esp, 4
mov ebx, dword [esi + 0xb8]
mov edx, dword [ebx]
mov ecx, ebx
inc edx
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov byte [ecx + eax - 1], 0x32
mov edx, dword [ebp + 0x250]
mov ecx, dword [esi + 0xb8]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078e8
call fcn.013aa143
mov eax, dword [esi + 0xb8]
mov ebx, esi
mov ecx, dword [esi + 0xc0]
lea esi, [ebx + 0xc8]
mov edx, dword [eax + 0x10]
add edx, edi
mov dword [ebx + 0xcc], edx
mov eax, dword [eax]
sub eax, edi
lea edi, [esp + 0x38]
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0xc4]
mov dword [esp + 4], eax
push edi
push esi
mov esi, ebx
push dword [esi + 0xc4]
push ecx
call dword [ecx + 0x24]
add esp, 0x10
mov ecx, 0x42
call fcn.013a9f0c
mov ebx, eax
mov dword [esi + 0xb8], ebx
mov ecx, ebx
mov edx, dword [ebx]
add edx, 4
mov dword [ebx], edx
call fcn.013aeeae
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov dword [ecx + eax - 4], edx
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0xb8]
push dword [edi]
call fcn.013ab857
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebp
call fcn.013a9f5f
mov eax, dword [esi + 0xc0]
push edi
push eax
call dword [eax + 0x28]
add esp, 8
xor eax, eax
lea ecx, [esi + 0xe0]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc0]
push ecx
push eax
call dword [eax + 0x10]
add esp, 8
mov eax, dword [esi + 0xc0]
push dword [esp + 4]
mov edi, ebp
push eax
jmp 0x13b098e
mov ecx, ebx
call fcn.013aeef2
mov ecx, dword [edi + 0x128]
mov dword [ecx + 4], eax
xor ecx, ecx
mov eax, dword [edi + 0x128]
mov dword [eax + 0x10], ecx
mov eax, dword [edi + 0x128]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call fcn.013aeef2
mov ecx, dword [edi + 0x128]
mov dword [ecx + 0x2c], eax
mov ecx, ebx
call fcn.013aeef2
mov ecx, dword [edi + 0x128]
mov dword [ecx + 0x30], eax
push dword [edi + 0x110]
call fcn.013d5add
add esp, 4
push 0x407e15
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
jmp 0x13b1687
push 0x15
push dword [edi + 0x248]
call fcn.013a15b8
add esp, 8
cmp byte [eax], 0
je 0x13b0255
mov ebp, esi
mov esi, edi
lea edi, [esi + 0x248]
push 0x407ed9
push dword [esi + 0x110]
call fcn.013d5f4d
add esp, 8
mov dword [esp], esi
mov dword [esi + 0x174], 1
xor eax, eax
jmp 0x13b1d4e
push dword [esp + 0x60]
push 0x406a1e
push ebp
call fcn.013a90da
add esp, 0xc
mov esi, dword [esp + 0x60]
push dword [edi + 0xbc]
call fcn.013d78b1
add esp, 4
push esi
mov esi, edi
mov edi, ebp
push eax
push 0x406a36
call fcn.013a2f5c
add esp, 0xc
mov ebx, eax
push ebx
call fcn.013ef39c
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.013ab567
add esp, 4
push ebx
call fcn.013a31d8
add esp, 4
jmp 0x13b0c89
push ebx
call fcn.013cab77
add esp, 4
push eax
push 0x406a5e
push edi
call fcn.013a90da
add esp, 0xc
push ebx
call fcn.013cab77
add esp, 4
mov ebx, eax
push dword [esi + 0xbc]
call fcn.013d78b1
add esp, 4
push ebx
push eax
push 0x406a7f
call fcn.013a2f5c
add esp, 0xc
mov ebx, eax
push ebx
call fcn.013ef39c
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.013ab567
add esp, 4
push ebx
call fcn.013a31d8
add esp, 4
mov dword [esi + 0x50], 0
xor eax, eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x70], eax
mov dword [esi + 0x7c], eax
push 0x1c
push dword [edi + 0x248]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b058c
call fcn.013dab08
test eax, eax
je 0x13b058c
push 0x406aa6
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov dword [esi + 0x68], 0x1000000
lea eax, [esi + 0x68]
mov byte [esi + 0x6c], 0xb
lea ecx, [esi + 0x78]
lea edx, [esp + 0x5c]
push edi
push 0x437cc4
push ecx
push edx
push 5
push eax
call fcn.013dab42
add esp, 0x18
mov ebp, 0x24cd
test eax, eax
mov dword [edi + 0x6d0], eax
jne 0x13b26c7
mov ebx, dword [esp + 0x5c]
lea eax, [esi + 0x70]
test ebx, ebx
mov dword [eax], ebx
je 0x13b0dd6
cmp dword [esi + 0x78], 5
jl 0x13b0dd6
cmp byte [ebx + 4], 0xc
jne 0x13b0dd6
mov eax, dword [ebx + 5]
bswap eax
push eax
call fcn.013a3350
add esp, 4
test eax, eax
mov dword [esi + 0x84], eax
js 0x13b0e90
add ebx, 9
test eax, eax
mov dword [esp], edi
mov dword [esp + 8], ebx
je 0x13b0ea4
mov edi, dword [esi + 0x78]
xor edx, edx
mov ecx, ebx
add edi, 0xfffffff7
cmp edi, 3
jle 0x13b0f9a
mov dword [esp + 4], edx
mov ebp, ecx
mov eax, dword [ecx]
bswap eax
push eax
call fcn.013a3350
add esp, 4
mov ebx, eax
test ebx, ebx
js 0x13b0fa6
add edi, 0xfffffffc
sub edi, ebx
jl 0x13b0fa6
mov eax, dword [ebp + ebx + 4]
bswap eax
push eax
call fcn.013a3350
add esp, 4
test eax, eax
js 0x13b0fb2
add edi, 0xfffffffc
sub edi, eax
jl 0x13b0fb2
lea ecx, [ebp + ebx + 4]
mov edx, dword [esp + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [esi + 0x84]
inc edx
cmp edx, eax
jl 0x13b0d67
jmp 0x13b0ea6
push 0x406ce9
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
jmp 0x13b058c
push 0x406c00
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov eax, dword [esi + 0xb4]
mov ecx, edi
mov edi, esi
mov edx, dword [edi + 0xb8]
mov esi, dword [eax + 5]
add eax, 9
bswap esi
push esi
mov esi, edi
mov edi, ecx
push eax
push dword [esi + 0x94]
push dword [esi + 0x88]
call fcn.013b4e50
add esp, 0x10
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
lea eax, [esi + 4]
jmp 0x13b0690
mov eax, dword [esi + 0xc0]
mov ebx, esi
lea esi, [ebx + 0xe0]
push esi
mov ebp, dword [esp + 4]
push dword [ebp + 0x6a4]
push eax
call dword [eax + 0xc]
add esp, 0xc
test eax, eax
mov dword [ebx + 0xe4], eax
je 0x13b0f36
cmp eax, 3
mov eax, dword [ebp + 0x110]
jne 0x13b0f82
push 0x407a4c
push eax
jmp 0x13b0f88
push eax
push 0x40765d
push edi
call fcn.013a90da
add esp, 0xc
jmp 0x13b1026
xor eax, eax
push eax
push 0x4076af
mov edi, dword [esp + 8]
push edi
call fcn.013a90da
add esp, 0xc
cmp dword [esi + 0x50], 0
je 0x13b058c
cmp dword [esi + 0x84], 0
mov ebp, dword [esp + 8]
jle 0x13b1006
xor edi, edi
mov dword [esp + 0xc], esi
mov eax, dword [ebp]
bswap eax
push eax
call fcn.013a3350
add esp, 4
mov ebx, eax
mov dword [esi + 0x94], ebx
cmp ebx, dword [esi + 0x54]
jne 0x13b0f0d
lea eax, [ebp + 4]
push ebx
push dword [esi + 0x50]
push eax
call fcn.013e0319
add esp, 0xc
test eax, eax
je 0x13b0feb
mov eax, dword [ebp + ebx + 4]
mov esi, ebx
add esi, ebp
bswap eax
push eax
call fcn.013a3350
add esp, 4
lea ebp, [eax + esi + 8]
mov esi, dword [esp + 0xc]
inc edi
cmp edi, dword [esi + 0x84]
jl 0x13b0eda
jmp 0x13b1006
mov eax, dword [edi + 0xc0]
lea ebx, [edi + 0xc4]
push ebx
push eax
call dword [eax + 0x1c]
add esp, 8
test eax, eax
mov dword [edi + 0xe4], eax
je 0x13b0fc3
push 0x407a93
mov ebx, dword [esp + 4]
push dword [ebx + 0x110]
call fcn.013d5f4d
add esp, 8
mov eax, dword [edi + 0xc0]
push esi
push eax
call dword [eax + 0x10]
add esp, 8
mov esi, edi
mov edi, ebx
jmp 0x13b1a66
push 0x407a79
push eax
call fcn.013d5f4d
add esp, 8
mov esi, edi
mov edi, dword [esp]
jmp 0x13b1a66
push 0x407690
mov edi, dword [esp + 4]
push edi
jmp 0x13b0fbc
push 0x407690
mov edi, dword [esp + 4]
push edi
jmp 0x13b0fbc
push 0x407690
mov edi, dword [esp + 4]
push edi
call fcn.013a90da
jmp 0x13b1023
lea ecx, [edi + 0xe4]
mov esi, edi
lea eax, [edi + 0xd0]
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esp + 8], ebx
jmp 0x13b0346
push edi
push 0x406b6f
push dword [esp + 8]
call fcn.013a90da
add esp, 0xc
mov dword [esi + 0x80], edi
mov dword [esi + 0x7c], ebp
cmp dword [esi + 0x7c], 0
mov edi, dword [esp]
jne 0x13b058c
push 0x406cc6
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov dword [esi + 0x84], 0
jmp 0x13b058c
test ebx, ebx
je 0x13b10f3
mov ecx, 0x32
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov ebx, dword [esp]
mov edx, dword [ebx + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40513c
call fcn.013aa143
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 1
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0xb8]
call fcn.013aa143
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0xb8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
call fcn.013aa143
push dword [esi + 0x3c]
call fcn.013a3212
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.013b4ffc
push 0x407cbe
push dword [ebx + 0x110]
call fcn.013d5f4d
add esp, 8
mov ebp, 0x298d
jmp 0x13b26c7
xor eax, eax
push eax
push eax
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov edi, dword [esp]
test eax, eax
js 0x13b11a2
mov eax, dword [esi + 0x3c]
je 0x13b11b6
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp byte [ecx], 0
je 0x13b1168
mov ebx, edi
mov edi, esi
mov esi, dword [edi + 0x48]
push esi
call fcn.013ef39c
add esp, 4
push eax
push esi
mov esi, edi
mov edi, ebx
call fcn.013d78fa
add esp, 8
push dword [esi + 0x48]
call fcn.013a31d8
add esp, 4
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.013a2fa2
add esp, 4
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
push dword [eax + 8]
push dword [ecx + 8]
call fcn.013ef06c
add esp, 8
xor ebx, ebx
test eax, eax
mov dword [esp], edi
sete bl
je 0x13b1035
mov edx, 0x407ca5
mov ecx, edi
push 0x18
call fcn.013ab567
add esp, 4
jmp 0x13b1035
mov dword [edi + 0x100], 1
mov ebp, 0x294a
jmp 0x13b26c7
push eax
call fcn.013a3212
add esp, 4
mov ebx, edi
mov edi, esi
mov esi, dword [edi + 0x48]
push esi
call fcn.013ef39c
add esp, 4
push eax
push esi
mov esi, edi
call fcn.013d78fa
add esp, 8
push dword [esi + 0x48]
call fcn.013a31d8
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, ebx
push 1
push 0xd
push 0x406d90
jmp 0x13b2417
test ebx, ebx
je 0x13b144e
mov ecx, 0x32
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078c9
call fcn.013aa143
mov ebp, dword [esi + 0xb8]
mov edx, dword [ebp]
mov ecx, ebp
inc edx
mov dword [ebp], edx
call fcn.013aeeae
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x10]
mov byte [ecx + eax - 1], 1
mov eax, dword [ebx]
mov ecx, dword [esi + 0xb8]
mov edx, dword [eax + 0x30]
call fcn.013aa143
mov eax, dword [ebx]
mov dword [esp + 0xc], esi
lea esi, [esp + 0x60]
push esi
mov dword [esp + 8], ebx
push dword [ebx + 4]
call dword [eax + 0xc]
add esp, 8
mov ecx, dword [esp + 0xc]
mov ebx, eax
mov ebp, dword [ecx + 0xb8]
mov edx, dword [ebp]
mov ecx, ebp
add edx, 4
mov dword [ebp], edx
call fcn.013aeeae
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x10]
mov edx, ebx
mov dword [ecx + eax - 4], 0
mov eax, dword [ebp]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xb8]
mov dword [esp + 8], ebx
push dword [esi]
call fcn.013ab857
add esp, 4
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov ecx, dword [edi + 0xe4]
cmp byte [edi + 0x50], bl
mov eax, dword [eax + 0xb8]
mov eax, dword [eax]
lea edx, [eax + ecx - 1]
lea esi, [eax + ecx - 5]
cmovns esi, edx
xor eax, eax
inc eax
push eax
push esi
call fcn.013a300b
add esp, 8
cmp byte [edi + 0x50], bl
mov ebp, eax
js 0x13b132f
mov al, byte [edi + 0xe7]
mov ebx, 4
mov byte [ebp], al
mov al, byte [edi + 0xe6]
mov byte [ebp + 1], al
mov al, byte [edi + 0xe5]
mov byte [ebp + 2], al
mov al, byte [edi + 0xe4]
mov byte [ebp + 3], al
lea eax, [ebp + ebx]
lea ecx, [edi + 0xa4]
push dword [edi + 0xe4]
push ecx
push eax
call fcn.013e1a9c
add esp, 0xc
mov dword [esp], edi
mov eax, ebp
add ebx, dword [edi + 0xe4]
mov edi, ebp
mov ebp, dword [esp + 0xc]
mov ecx, dword [ebp + 0xb8]
add eax, ebx
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add edx, 0xfffffffb
add ecx, 5
push edx
push ecx
push eax
call fcn.013e1a9c
add esp, 0xc
mov eax, dword [ebp + 0xb8]
mov eax, dword [eax]
lea eax, [eax + ebx - 5]
cmp eax, esi
je 0x13b139f
push 0x2757
push 0x404cda
push 0x407982
call fcn.013ec93a
add esp, 0xc
mov ebp, dword [esp + 4]
lea ebx, [esp + 0x48]
mov eax, dword [ebp]
push ebx
push esi
mov dword [esp + 0x1c], edi
push edi
push dword [ebp + 4]
call dword [eax + 0x2c]
add esp, 0x10
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov edi, dword [esp]
mov edx, dword [esi + 0xb8]
mov ecx, edi
push dword [ebx]
push eax
push dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
push ebx
call fcn.013b4e50
add esp, 0x10
push ebx
call fcn.013a31d8
add esp, 4
push dword [esp + 0x10]
call fcn.013a31d8
add esp, 4
push dword [esp + 0x14]
call fcn.013a31d8
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
push 0x4079a4
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov dword [esi + 4], 1
mov eax, dword [ebp]
push dword [ebp + 4]
call dword [eax + 4]
add esp, 4
push dword [ebp + 8]
call fcn.013a31d8
add esp, 4
push ebp
call fcn.013a31d8
add esp, 4
jmp 0x13b1a66
cmp dword [esi + 0x5c], 0
je 0x13b150b
push dword [edi + 0x110]
call fcn.013a2fd8
add esp, 4
mov ebx, edi
mov dword [esi + 0x3c], eax
mov edi, esi
xor esi, esi
mov dword [eax], esi
push 0x406d5f
call fcn.013a2fa2
add esp, 4
mov ecx, dword [edi + 0x3c]
mov dword [ecx + 4], eax
push dword [edi + 0x64]
push 0x406d72
call fcn.013a2f5c
add esp, 8
push esi
push eax
push dword [edi + 0x3c]
call fcn.013a308b
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
test eax, eax
js 0x13b14da
mov eax, dword [esi + 0x3c]
je 0x13b14ee
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.013a2fa2
add esp, 4
mov ebp, eax
push dword [esi + 0x3c]
call fcn.013a3212
add esp, 4
jmp 0x13b150d
mov dword [edi + 0x100], 1
mov ebp, 0x26f7
jmp 0x13b26c7
push eax
call fcn.013a3212
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x406d90
jmp 0x13b2417
xor ebp, ebp
push 0x20
push dword [edi + 0x248]
call fcn.013a18db
add esp, 8
lea ecx, [esp + 0x4c]
mov dword [esi + 0xbc], eax
push ecx
push ebp
push eax
call fcn.013c9455
add esp, 0xc
mov ebx, eax
test ebp, ebp
je 0x13b1554
push ebp
call fcn.013ef39c
add esp, 4
push eax
push ebp
call fcn.013d78fa
add esp, 8
push ebp
call fcn.013a31d8
add esp, 4
cmp ebx, 0x41d1a8
je 0x13b1564
test ebx, ebx
jne 0x13b11fa
test ebp, ebp
je 0x13b1588
cmp ebx, 0x41d1a8
jne 0x13b1588
mov edx, 0x40794d
mov ecx, edi
push 0x12
call fcn.013ab567
add esp, 4
xor ebx, ebx
jmp 0x13b11fa
mov edx, 0x407960
mov ecx, edi
push 0x1c
call fcn.013ab567
add esp, 4
mov ebx, dword [esp + 0x4c]
push ebx
call fcn.013ef39c
add esp, 4
mov ecx, edi
mov edx, ebx
push eax
call fcn.013ab567
add esp, 4
mov edx, 0x40797d
mov ecx, edi
push 3
call fcn.013ab567
jmp 0x13b1446
mov ecx, edi
mov edx, eax
call fcn.013af393
xor ebp, ebp
jmp 0x13b26c7
test ecx, ecx
je 0x13b1803
xor eax, eax
mov dword [edi + 0x344], eax
cmp dword [esi + 0x50], eax
je 0x13b160c
push dword [esi + 0x60]
call fcn.013a31d8
add esp, 4
push dword [esi + 0x50]
call fcn.013a31d8
add esp, 4
push dword [esi + 0x64]
call fcn.013a31d8
add esp, 4
mov eax, dword [esi + 0x70]
test eax, eax
je 0x13b161c
push eax
call fcn.013a31d8
add esp, 4
cmp dword [esi + 0x38], 0
je 0x13b163e
cmp dword [edi + 0xec], 0
jne 0x13b163e
mov edx, 0x407d12
mov ecx, edi
push 0
push 0xfffffffffffffffe
call fcn.013ac3a3
add esp, 8
push 0x438599
call fcn.013d48c4
add esp, 4
mov dword [edi + 0x124], eax
mov dword [edi + 0x3e4], 0x4385b5
mov dword [edi + 0x3b0], 0x438620
push 0x2d
push dword [edi + 0x248]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b1891
mov dword [edi + 0x128], 0
mov eax, 0x438850
movd xmm0, eax
mov eax, 0x43882b
movd xmm1, eax
mov eax, 0x43870a
punpckldq xmm1, xmm0
movd xmm0, eax
mov eax, 0x439426
pshufd xmm0, xmm0, 0x50
punpcklqdq xmm0, xmm1
movdqu xmmword [edi + 0x3e8], xmm0
mov dword [edi + 0x3dc], 0x438920
mov dword [edi + 0x3e0], 0x4389e8
mov dword [edi + 0x3f8], 0x438a91
mov dword [edi + 0x3d8], 0x438f07
mov dword [edi + 0x3fc], eax
mov dword [edi + 0x400], eax
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x13b1706
push dword [edi + 8]
push eax
call fcn.013d0048
add esp, 8
mov ebp, edi
cmp dword [ebp + 0x128], 0
lea edi, [ebp + 0x248]
je 0x13b1762
push 0xa9
push dword [edi]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b1762
cmp dword [ebp + 0xec], 0
jne 0x13b1762
cmp dword [ebp + 0xf4], 0
jne 0x13b1762
mov ecx, dword [ebp + 0x128]
xor eax, eax
mov edx, 0x407e29
push eax
push eax
call fcn.013b5fa0
add esp, 8
mov ecx, ebp
mov edx, eax
mov dword [esi + 0xb8], eax
call fcn.013a9f5f
mov edx, dword [ebp + 0x248]
mov ecx, ebp
call fcn.013b6098
cmp dword [ebp + 0x128], 0
je 0x13b1785
cmp dword [ebp + 0x12c], 0
je 0x13b1bef
xor eax, eax
mov edi, ebp
inc eax
mov dword [ebp + 0x104], eax
mov dword [ebp + 0x108], eax
mov dword [edi + 0x144], 3
cmp dword [edi + 0x148], 0
je 0x13b17be
push dword [edi + 0x120]
push dword [edi + 0x11c]
push edi
call fcn.013aac8a
add esp, 0xc
cmp dword [edi + 0x14c], 0
je 0x13b17d2
push 0xc
push edi
call fcn.013aade0
add esp, 8
mov eax, dword [edi + 0x14]
test eax, eax
je 0x13b17e2
push eax
call fcn.013a21e5
add esp, 4
cmp dword [edi + 0x128], 0
mov ebp, 0x2ab1
je 0x13b26c7
mov dword [edi + 0x100], 1
jmp 0x13b26c7
cmp dword [esi + 0x4c], 0
mov ebx, edi
lea edi, [esi + 0x4c]
je 0x13b1826
push 0x1e
push dword [ebx + 0x248]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b1c79
push dword [ebx + 0x248]
call fcn.013a7433
add esp, 4
test eax, eax
mov dword [ebx + 0x250], eax
je 0x13b190c
test byte [0x41df54], 5
lea ecx, [ebx + 0x250]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
je 0x13b1888
push eax
push 0x4076c9
call fcn.013a2f5c
add esp, 8
mov ebp, eax
push ebp
call fcn.013ef39c
add esp, 4
mov ecx, ebx
mov edx, ebp
push eax
call fcn.013ab567
add esp, 4
push ebp
call fcn.013a31d8
add esp, 4
mov ebp, dword [esp + 8]
jmp 0x13b19a8
push 0x5c
push 1
call fcn.013a300b
add esp, 8
mov dword [edi + 0x128], eax
mov dword [eax], edi
mov ecx, dword [edi + 0x128]
call fcn.013a9c86
push 0x2e
push dword [edi + 0x248]
call fcn.013a15b8
add esp, 8
cmp byte [eax], 0
je 0x13b1c88
push 0x2f
push dword [edi + 0x248]
call fcn.013a147b
add esp, 8
mov ebx, edi
mov edi, eax
push 0x2e
push dword [ebx + 0x248]
call fcn.013a15b8
add esp, 8
push 0x407d2f
push edi
mov edi, ebx
push eax
push dword [edi + 0x128]
call fcn.013a9f71
add esp, 0x10
xor eax, eax
inc eax
jmp 0x13b1cc0
push dword [ebx + 0x110]
call fcn.013a2fd8
add esp, 4
mov dword [esi + 0x3c], eax
mov edi, esi
xor esi, esi
inc esi
mov dword [eax], esi
push 0x4069a0
call fcn.013a2fa2
add esp, 4
mov ecx, dword [edi + 0x3c]
mov dword [ecx + 4], eax
push 0x4069af
call fcn.013a2fa2
add esp, 4
push esi
mov esi, edi
push eax
push dword [esi + 0x3c]
call fcn.013a308b
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
mov edi, ebx
test eax, eax
js 0x13b1a27
mov eax, dword [esi + 0x3c]
je 0x13b1a3b
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.013a2fa2
add esp, 4
lea ebp, [edi + 0x250]
mov dword [edi + 0x250], eax
push dword [esi + 0x3c]
call fcn.013a3212
add esp, 4
lea eax, [esi + 0x34]
mov ebx, edi
lea edi, [esi + 0x4c]
mov dword [esp + 4], eax
mov dword [edi], 1
xor edi, edi
mov ecx, 0x32
mov dword [ebx + 0x188], edi
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebp]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40668f
call fcn.013aa143
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.013a9f5f
mov dword [esi + 4], edi
mov dword [esi + 0xc], edi
mov eax, dword [esp + 4]
mov dword [eax], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x24], edi
mov edi, ebx
mov eax, dword [esi + 0x70]
test eax, eax
je 0x13b1a66
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x13b1a56
mov dword [esi + 0x74], ecx
jmp 0x13b1a66
mov dword [edi + 0x100], 1
mov ebp, 0x2555
jmp 0x13b26c7
push eax
call fcn.013a3212
add esp, 4
xor ebp, ebp
mov edx, 0x4069ba
mov ecx, edi
push 1
push ebp
push ebp
jmp 0x13b2417
add eax, 9
mov dword [esi + 0x74], eax
mov dword [esi + 0x80], 0
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
cmp dword [esi + 0xc], eax
je 0x13afacc
mov dword [esp], edi
lea edi, [edi + 0x178]
push edi
call fcn.013a3781
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x13b1ae7
test byte [0x41df54], 5
je 0x13b1ae7
push 1
push ebx
call fcn.013a300b
add esp, 8
mov ebp, eax
push ebx
push ebp
push edi
call fcn.013a38b7
add esp, 0xc
test byte [0x41df54], 2
jne 0x13b1ad1
push ebx
push ebp
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.013dafca
add esp, 0xc
jmp 0x13b1ade
xor ecx, ecx
mov edx, ebp
push ebx
call fcn.013ab58e
add esp, 4
push ebp
call fcn.013a31d8
add esp, 4
push edi
call fcn.013a375d
add esp, 4
mov ecx, dword [esp + 0x80]
mov edi, dword [esp]
mov eax, dword [ecx + 8]
cmp eax, 0x33
je 0x13b1b39
cmp eax, 0x34
jne 0x13b1b2f
push 0x4076e0
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
xor ecx, ecx
mov dword [esi + 0x38], 1
inc ecx
lea ebp, [esi + 0x34]
mov dword [esi + 0x34], ecx
jmp 0x13b15d6
cmp dword [esi + 4], 5
jne 0x13b1bdc
mov dword [esi + 0xc], 0
cmp dword [ecx + 8], 0x33
jne 0x13b1b9c
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x54]
lea edx, [esp + 0x58]
push eax
call fcn.013aef11
mov edx, dword [esp + 0x84]
add esp, 4
mov eax, dword [edx + 0x18]
cmp dword [edx], eax
jle 0x13b1ba8
mov ecx, dword [edx + 0x14]
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
mov dword [edx + 0x18], eax
je 0x13b1ba8
mov edx, 0x407887
mov ecx, edi
push 0x21
call fcn.013ab567
add esp, 4
push 0x4078a9
push dword [edi + 0x110]
jmp 0x13b1ea4
lea eax, [esi + 0x14]
xor ebp, ebp
xor edi, edi
jmp 0x13b1f70
mov eax, dword [esi + 4]
cmp eax, 7
ja 0x13b1dfe
jmp dword [eax*4 + 0x4099bc]
push eax
push 0x4076ef
call fcn.013a2f5c
add esp, 8
jmp 0x13b15c6
push 0x95
push dword [edi]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b1ce5
mov ebx, esi
mov esi, dword [ebp + 0x248]
push 0x96
push esi
call fcn.013a15b8
add esp, 8
push esi
push eax
call fcn.013de2c0
add esp, 8
test eax, eax
mov dword [ebp + 0x18c], eax
je 0x13b1cd0
push 0x97
push dword [ebp + 0x248]
call fcn.013a147b
add esp, 8
push eax
push dword [ebp + 0x194]
call fcn.013ddffc
add esp, 8
mov dword [ebp + 0x190], eax
mov ecx, dword [ebp + 0x18c]
mov dword [eax + 0x1c], ecx
xor eax, eax
push eax
push eax
push dword [ebp + 0x128]
call fcn.013b69cf
add esp, 0xc
jmp 0x13b1ce3
mov dword [esp + 4], ebp
lea ebp, [ebx + 0x250]
jmp 0x13b19a8
mov ecx, dword [edi + 0x128]
mov edx, 0x407d3c
call fcn.013aa090
mov dword [esi + 0xb8], eax
push 0x407d44
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
xor eax, eax
mov dword [edi + 0x12c], eax
mov ebp, 0x29f7
jmp 0x13b26c7
push 0x407e4c
push dword [ebp + 0x110]
call fcn.013d5f4d
add esp, 8
mov esi, ebx
push ebp
call fcn.013a98cd
add esp, 4
test eax, eax
je 0x13b1d04
xor eax, eax
push eax
push eax
push dword [ebp + 0x128]
call fcn.013b6b17
add esp, 0xc
mov dword [esp], ebp
mov ebp, esi
push 0x16
push dword [edi]
call fcn.013a147b
add esp, 8
test eax, eax
jne 0x13b1d2f
xor eax, eax
push eax
push eax
mov eax, dword [esp + 8]
push dword [eax + 0x128]
call fcn.013b6bd2
add esp, 0xc
xor esi, esi
push esi
push esi
mov ebx, dword [esp + 8]
push dword [ebx + 0x128]
call fcn.013b6eaa
add esp, 0xc
cmp dword [ebx + 0x174], esi
sete al
movzx eax, al
mov ecx, 0x2c
mov esi, 0x15
sub ecx, eax
sub esi, eax
push ecx
push dword [edi]
call fcn.013a147b
add esp, 8
mov ebx, eax
push esi
push dword [edi]
call fcn.013a15b8
add esp, 8
mov edi, eax
test ebx, ebx
je 0x13b1dbc
mov dword [esp + 4], edi
mov edi, dword [esp]
mov edx, 0x407e87
mov ecx, dword [edi + 0x128]
push 0
push 0x43a515
call fcn.013b5fa0
add esp, 8
mov dword [ebp + 0xb8], eax
mov ecx, eax
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov edx, dword [esp + 4]
call fcn.013aa143
jmp 0x13b26b7
mov eax, dword [esp]
cmp byte [edi], 0
mov ecx, dword [eax + 0x128]
je 0x13b2692
mov edx, 0x407e91
push 0
push 0x43a515
call fcn.013b5fa0
add esp, 8
mov ecx, eax
mov edx, edi
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov dword [ebp + 0xb8], eax
call fcn.013aa143
jmp 0x13b26b4
push 0x25f4
push 0x404cda
push 0x40782c
call fcn.013ec93a
add esp, 0xc
push 0x407868
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov ecx, edi
mov edx, 0x4071b0
push 0xf
call fcn.013ab567
add esp, 4
push 0x1e
push dword [edi + 0x248]
call fcn.013a147b
add esp, 8
xor ecx, ecx
test eax, eax
jne 0x13b1b24
jmp 0x13b1eac
call fcn.013d5f4d
add esp, 8
mov ebx, edi
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov ecx, 0x4078c9
mov edx, edi
push ebp
call fcn.013af3cf
add esp, 4
mov dword [esi + 0x14], eax
mov ecx, 0x40513c
mov edx, edi
push ebp
call fcn.013af3cf
add esp, 4
mov dword [esi + 0x18], eax
push 0x26
push dword [ebx + 0x248]
call fcn.013a147b
add esp, 8
xor ebx, ebx
test eax, eax
je 0x13b1f09
mov ecx, 0x4078d3
mov edx, edi
push ebp
call fcn.013af3cf
add esp, 4
test eax, eax
setne al
jmp 0x13b1f0b
xor eax, eax
movzx eax, al
mov dword [esi + 0x1c], eax
push 0x27
mov eax, dword [esp + 4]
push dword [eax + 0x248]
call fcn.013a147b
add esp, 8
test eax, eax
je 0x13b1f6a
mov ecx, 0x4078e8
mov edx, edi
push ebp
call fcn.013af3cf
add esp, 4
test eax, eax
je 0x13b1f6a
mov eax, dword [esp]
mov eax, dword [eax + 0x6a8]
test eax, eax
jne 0x13b1f61
mov ebx, dword [esp]
push dword [ebx + 0x248]
call fcn.013d6294
add esp, 4
mov dword [ebx + 0x6a8], eax
xor ebx, ebx
cmp dword [eax + 4], 0
setg bl
lea eax, [esi + 0x14]
mov dword [esi + 0x28], ebx
mov edx, dword [esp]
xor ecx, ecx
mov dword [edx + 0x188], ecx
cmp dword [eax], ecx
je 0x13b1f9f
cmp dword [esi + 0x24], 0
je 0x13b2105
cmp dword [esi + 0x50], 0
je 0x13b1f9f
cmp dword [esi + 0x58], 0
je 0x13b1f9f
cmp dword [esi + 0x20], 0
je 0x13b25bb
cmp dword [esi + 0x28], 0
je 0x13b1faf
cmp dword [esi + 0x2c], 0
je 0x13b22b1
cmp dword [esi + 0x1c], 0
je 0x13b1fbf
cmp dword [esi + 0x30], 0
je 0x13b2363
cmp dword [esi + 0x18], 0
je 0x13b232e
mov ebx, dword [esp]
mov dword [ebx + 0x188], 2
push dword [ebx + 0x110]
call fcn.013a2fd8
add esp, 4
mov dword [esi + 0x3c], eax
mov dword [eax], 1
push 0x4070df
call fcn.013a2fa2
add esp, 4
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 4], eax
push dword [ebx + 0xf8]
push dword [ebx + 0x250]
push 0x4070ec
call fcn.013a2f5c
add esp, 0xc
mov edi, esi
xor esi, esi
push esi
push eax
push dword [edi + 0x3c]
call fcn.013a308b
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x3c]
call fcn.013daff5
add esp, 0xc
test eax, eax
js 0x13b229d
mov eax, dword [esi + 0x3c]
je 0x13b23ff
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.013a2fa2
add esp, 4
mov dword [esi + 0x48], eax
push dword [esi + 0x3c]
call fcn.013a3212
add esp, 4
mov ecx, 0x32
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40513c
call fcn.013aa143
mov ebx, edi
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0xb8]
call fcn.013aa143
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.013b4ffc
push 0x4071a2
push dword [ebx + 0x110]
call fcn.013d5f4d
add esp, 8
mov eax, 4
mov dword [esi + 4], eax
mov ebp, 0x290b
jmp 0x13b26c7
cmp dword [esi + 0x84], 0
je 0x13b1f89
mov ebp, dword [esp]
mov dword [ebp + 0x188], 1
push dword [esi + 0x80]
push 0x406b9b
push ebp
call fcn.013a90da
add esp, 0xc
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
bswap eax
push eax
call fcn.013a3350
add esp, 4
mov dword [esi + 0x94], eax
mov ecx, dword [esi + 0x74]
lea edx, [ecx + 4]
lea eax, [ecx + eax + 4]
mov dword [esi + 0x88], edx
mov dword [esi + 0x74], eax
mov eax, dword [ecx + 4]
bswap eax
push eax
call fcn.013a3350
add esp, 4
mov dword [esi + 0x98], eax
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x74]
add ecx, 4
mov dword [esi + 0x8c], ecx
mov eax, dword [eax]
bswap eax
push eax
call fcn.013a3350
add esp, 4
mov dword [esi + 0x9c], eax
mov ecx, dword [esi + 0x74]
lea edx, [ecx + 4]
lea eax, [ecx + eax + 4]
mov ecx, 0x32
mov dword [esi + 0x90], edx
mov dword [esi + 0x74], eax
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebp + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078c9
call fcn.013aa143
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov ebx, esi
xor esi, esi
mov dword [ecx + eax - 4], esi
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0xb8]
push dword [ebx + 0x98]
call fcn.013ab857
add esp, 4
mov edi, dword [ebx + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], esi
mov esi, ebx
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [esi + 0x88]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x94]
call fcn.013ab857
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebp
call fcn.013a9f5f
mov dword [esi + 4], 3
mov ebp, 0x2644
jmp 0x13b26c7
mov dword [edi + 0x100], 1
mov ebp, 0x28dc
jmp 0x13b26c7
xor eax, eax
mov dword [esi + 4], 5
mov ebx, dword [0x412530]
xor edi, edi
inc eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0xc], eax
mov eax, dword [esp]
test ebx, ebx
mov dword [eax + 0x188], 3
mov dword [esi + 0xc0], edi
jle 0x13b2430
mov ebp, esi
push edi
push 0x29
mov esi, dword [esp + 8]
push dword [esi + 0x248]
call fcn.013a1515
add esp, 0xc
mov ecx, dword [esi + 0x6a8]
mov edx, dword [ecx + 4]
test edx, edx
jle 0x13b231c
mov ecx, dword [ecx]
xor esi, esi
cmp dword [ecx], eax
je 0x13b2424
inc esi
add ecx, 0x54
cmp esi, edx
jl 0x13b230c
inc edi
cmp edi, ebx
jl 0x13b22e6
mov esi, ebp
mov ecx, dword [esi + 0xc0]
jmp 0x13b242c
push edi
push ebp
push 0x407cd0
call fcn.013a2f5c
add esp, 0xc
mov ecx, dword [esp]
mov edi, eax
mov edx, edi
push 0
push 0xe
push 0x4070b1
call fcn.013ab930
add esp, 0xc
push edi
call fcn.013a31d8
add esp, 4
jmp 0x13b15cf
mov dword [esi + 4], 6
mov ecx, 0x32
mov eax, 4
mov edi, dword [esp]
mov dword [edi + 0x188], eax
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078d3
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x402159
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x402159
call fcn.013aa143
mov edx, dword [esi + 0xb8]
mov ecx, edi
call fcn.013a9f5f
push 0x407b64
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov ebp, 0x283f
jmp 0x13b26c7
push eax
call fcn.013a3212
add esp, 4
xor ebp, ebp
xor edx, edx
mov ecx, edi
push 1
push 0xd
push 0x406d90
call fcn.013ab930
add esp, 0xc
jmp 0x13b26c7
mov esi, ebp
mov dword [esi + 0xc0], ecx
test ecx, ecx
jne 0x13b244d
push 0x278d
push 0x404cda
push 0x4079be
call fcn.013ec93a
add esp, 0xc
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 4]
mov edi, dword [esp]
test eax, eax
je 0x13b2466
push eax
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov ecx, 0x32
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [edi + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078e8
call fcn.013aa143
push 0x4079d2
push dword [edi + 0x110]
call fcn.013d5f4d
add esp, 8
mov eax, dword [esi + 0xc0]
lea ecx, [esi + 0xc8]
push ecx
push eax
call dword [eax + 8]
add esp, 8
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], 0x1000000
mov ebx, dword [esi + 0xc8]
mov edi, dword [esi + 0xb8]
add ebx, 2
mov ecx, edi
mov eax, ebx
mov ebp, ebx
shr eax, 0x18
shr ebp, 0x10
mov dword [esp + 4], eax
mov edx, dword [edi]
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 4]
mov byte [ecx + eax - 4], dl
mov edx, ebp
mov byte [ecx + eax - 3], dl
mov byte [ecx + eax - 2], bh
mov byte [ecx + eax - 1], bl
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 6
mov edi, dword [esi + 0xb8]
mov bl, byte [esi + 0xc8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov ebp, esi
mov byte [ecx + eax - 1], bl
mov edi, dword [esi + 0xb8]
mov esi, dword [ebp + 0xc8]
mov ebx, dword [ebp + 0xcc]
mov edx, dword [edi]
mov ecx, edi
add edx, esi
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi + 0x10]
add eax, dword [edi]
sub eax, esi
push esi
mov esi, ebp
push ebx
push eax
call fcn.013e1a9c
add esp, 0xc
mov edx, dword [esi + 0xb8]
mov ecx, dword [esp]
call fcn.013a9f5f
mov ebp, 0x27aa
jmp 0x13b26c7
mov ebx, dword [esp]
xor eax, eax
mov ecx, 0x32
inc eax
mov dword [ebx + 0x188], eax
mov dword [esi + 0x20], eax
call fcn.013a9f0c
mov dword [esi + 0xb8], eax
mov ecx, eax
mov edx, dword [ebx + 0x250]
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x40762f
call fcn.013aa143
mov ecx, dword [esi + 0xb8]
mov edx, 0x4078c9
call fcn.013aa143
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0xb8]
call fcn.013aa143
mov edi, dword [esi + 0xb8]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.013aeeae
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edx, dword [esi + 0x50]
mov ecx, dword [esi + 0xb8]
push dword [esi + 0x54]
call fcn.013ab857
add esp, 4
mov edx, dword [esi + 0xb8]
mov ecx, ebx
call fcn.013a9f5f
push 0x407919
push dword [ebx + 0x110]
call fcn.013d5f4d
add esp, 8
mov ebp, 0x26d3
jmp 0x13b26c7
mov edx, 0x407e96
push 0
push 0x43a515
call fcn.013b5fa0
add esp, 8
lea esi, [ebp + 0xb8]
mov ebx, ebp
mov dword [ebp + 0xb8], eax
mov edi, dword [esp]
mov edx, dword [esi]
mov ecx, edi
call fcn.013a9f5f
mov ebp, 0x2a84
mov esi, ebx
mov dword [esi], ebp
mov ecx, dword [esp + 0x64]
call fcn.013df522
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret