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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
xor eax, eax
mov ebx, edx
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov edx, dword [ebx + 0x1c]
push edi
mov eax, dword [esi]
mov edi, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [edi]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x64], eax
cmp dword [edx + 0x18], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], edx
je 0x13ec78b
movzx eax, byte [ebx + 4]
sub eax, 0x70
je 0x13ec75b
sub eax, 1
je 0x13ec754
sub eax, 1
je 0x13ec74d
mov eax, 0xdd41b8
jmp 0x13ec760
mov eax, 0xdd41a4
jmp 0x13ec760
mov eax, 0xdd41b0
jmp 0x13ec760
mov eax, 0xdd4198
push eax
push 0xdd41c8
push edi
call fcn.013b6680
mov eax, dword [esp + 0x6c]
mov ecx, 1
mov dword [esi + 8], eax
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esi + 0xc], eax
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edx + 0x28], 0
je 0x13ec7d8
movzx eax, byte [ebx + 4]
sub eax, 0x70
je 0x13ec7cb
sub eax, 1
je 0x13ec7be
sub eax, 1
je 0x13ec7b1
mov eax, 0xdd41b8
push eax
push 0xdd41f8
jmp 0x13ec766
mov eax, 0xdd41a4
push eax
push 0xdd41f8
jmp 0x13ec766
mov eax, 0xdd41b0
push eax
push 0xdd41f8
jmp 0x13ec766
mov eax, 0xdd4198
push eax
push 0xdd41f8
jmp 0x13ec766
mov esi, dword [edi + 0xc]
mov dword [esp + 0x28], esi
test esi, esi
jne 0x13ec7f9
call fcn.013c4610
mov esi, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], esi
mov dword [edi + 0xc], esi
mov dword [esp + 0x14], eax
cmp byte [esp + 0x58], 9
lea edi, [esi + 0xc]
lea ecx, [esi + 0x10]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ecx
jne 0x13ec875
mov eax, dword [ebx]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [edi]
mov dword [esp + 0x4c], eax
cmp dword [ecx], eax
jg 0x13ec82f
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13ec866
mov eax, dword [esp + 0x4c]
inc dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x48]
mov word [eax + ecx*4], 0x28
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x58], 8
mov dword [esp + 0x14], eax
jmp 0x13ec87d
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [ebx]
mov ecx, dword [edx]
mov eax, dword [eax]
cmp eax, dword [ecx]
je 0x13ec8e9
movzx eax, byte [ebx + 4]
sub eax, 0x70
je 0x13ec8b3
sub eax, 1
je 0x13ec8ac
sub eax, 1
je 0x13ec8a5
mov eax, 0xdd41b8
jmp 0x13ec8b8
mov eax, 0xdd41a4
jmp 0x13ec8b8
mov eax, 0xdd41b0
jmp 0x13ec8b8
mov eax, 0xdd4198
push eax
push 0xdd4228
push dword [esp + 0x18]
call fcn.013b6680
mov edx, dword [ebp + 8]
mov ecx, 1
mov eax, dword [esp + 0x6c]
add esp, 0xc
mov dword [edx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc], eax
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x18], 0
je 0x13ec908
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push edx
mov edx, ebx
call fcn.013ee720
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 4]
sub eax, 0x6f
je 0x13ed3ea
sub eax, 1
je 0x13ed2bc
sub eax, 1
je 0x13ed3ea
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x34], eax
inc eax
mov dword [esp + 0x44], eax
inc eax
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
mov dword [esp + 0x4c], edx
cmp dword [eax], edx
jg 0x13ec95f
mov ecx, esi
call fcn.013c46d0
test eax, eax
je 0x13ec95b
mov edx, 1
jmp 0x13ec99a
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 0x14]
lea ecx, [edx + edx*4]
inc dword [edi]
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov word [eax + ecx*4], 0x28
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x38], edx
mov edx, dword [esp + 0x2c]
or word [eax + 6], 8
mov eax, dword [esp + 0x34]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
mov word [esp + 0x6c], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
call fcn.013f1ca0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x13edda8
mov ecx, dword [esp + 0x20]
mov edx, dword [edi]
mov eax, edx
mov dword [esp + 0x4c], edx
cmp dword [ecx], edx
jg 0x13eca0f
mov ecx, esi
call fcn.013c46d0
test eax, eax
je 0x13eca09
mov edx, 1
jmp 0x13eca4b
mov eax, dword [edi]
mov edx, dword [esp + 0x4c]
inc eax
lea ecx, [edx + edx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x24]
mov word [eax + ecx*4], 0x28
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x3c], edx
mov edx, ebx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
call fcn.013f1ca0
mov edx, dword [ebx + 0x28]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x4c], edx
test edx, edx
je 0x13ecaf4
mov ecx, dword [esp + 0x1c]
call fcn.013d0e20
mov edx, dword [esp + 0x4c]
cmp word [edx + 2], 0
jl 0x13ecaf4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x13ecaeb
cmp edx, dword [ecx + 0xf0]
jb 0x13ecaeb
cmp edx, dword [ecx + 0xf4]
jae 0x13ecaeb
mov eax, dword [ecx + 0xec]
mov dword [edx], eax
dec dword [ecx + 0xe4]
mov dword [ecx + 0xec], edx
jmp 0x13ecaf4
push edx
call fcn.013b4350
add esp, 4
cmp byte [esp + 0x58], 5
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x2c], eax
jne 0x13ecb2b
mov eax, dword [ebx + 0x1c]
mov ecx, ebx
test eax, eax
je 0x13ecb1b
mov ecx, eax
mov eax, dword [ecx + 0x1c]
test eax, eax
jne 0x13ecb12
push dword [ecx]
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.013eb820
add esp, 4
mov ecx, esi
call fcn.013c4830
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.013c4830
cmp dword [ebx + 0x30], 0
mov dword [esp + 0x4c], eax
jne 0x13ed005
mov ecx, dword [esp + 0x10]
call fcn.013d3850
cmp dword [ebx + 0x28], 0
je 0x13ed005
mov edx, dword [ecx + 0x48]
inc edx
mov dword [ecx + 0x48], edx
mov dword [ebx + 0x30], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x13ecb95
mov ecx, dword [ecx]
call fcn.013c4610
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov dword [ecx + 0xc], eax
test eax, eax
je 0x13ed005
push edx
mov edx, dword [ebx + 0x28]
call fcn.013d3cc0
add esp, 4
mov dword [esp + 0x50], eax
cmp eax, dword [esp + 0x30]
je 0x13ecc15
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
test edx, edx
je 0x13ecc15
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], eax
cmp dword [edx + 0x10], eax
jg 0x13ecbd9
mov ecx, edx
call fcn.013c46d0
test eax, eax
jne 0x13ecc15
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x2c]
inc dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov esi, dword [esp + 0x50]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x50], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ecc3d
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x13ecc7a
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x24]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
cmp dword [edx + 0x10], eax
jg 0x13ecc99
mov ecx, edx
call fcn.013c46d0
test eax, eax
jne 0x13eccd5
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
inc dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0x72
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
cmp dword [ebx + 0x2c], 0
je 0x13ed005
mov eax, dword [esp + 0x10]
inc dword [eax + 0x48]
mov ecx, dword [eax + 0x48]
mov dword [ebx + 0x34], ecx
inc dword [eax + 0x48]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x2c], ecx
push ecx
mov ecx, eax
call fcn.013d3cc0
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, dword [esp + 0x2c]
je 0x13ecd75
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x50], edx
test edx, edx
je 0x13ecd75
mov eax, dword [edx + 0xc]
mov dword [esp + 0x48], eax
cmp dword [edx + 0x10], eax
jg 0x13ecd39
mov ecx, edx
call fcn.013c46d0
test eax, eax
jne 0x13ecd75
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
inc dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov edi, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x24]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ecd9d
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x13ecdda
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x48], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ece08
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
je 0x13ece01
mov dword [esp + 0x48], 1
jmp 0x13ece45
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0x70
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ece69
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x13ecea6
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x38]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov eax, dword [esp + 0x48]
cmp dword [edx + 0xc], eax
jle 0x13ecec0
mov edi, dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x24]
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ecee4
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x13ecf1e
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], ebx
inc ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x38]
mov word [eax + ecx*4], 0x56
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x48], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ecf4c
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
je 0x13ecf45
mov dword [esp + 0x48], 1
jmp 0x13ecf89
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0x70
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edx + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx + 0x10], ecx
jg 0x13ecfad
mov ecx, edx
call fcn.013c46d0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x13ecfef
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
mov ebx, dword [esp + 0x38]
inc eax
mov dword [edx + 0xc], eax
inc esi
mov eax, dword [edx + 0x14]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov eax, dword [esp + 0x48]
cmp dword [edx + 0xc], eax
jle 0x13ed005
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13ed026
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13ed05e
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x40
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x15]
test al, al
jne 0x13ed071
inc dword [ecx + 0x48]
mov eax, dword [ecx + 0x48]
jmp 0x13ed07d
dec al
mov byte [ecx + 0x15], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov dword [esp + 0x30], eax
mov eax, ecx
mov dword [esp + 0x48], ecx
cmp dword [edx], ecx
jg 0x13ed0ac
mov ecx, esi
call fcn.013c46d0
test eax, eax
je 0x13ed0a6
mov dword [esp + 0x48], 1
jmp 0x13ed0e4
mov eax, dword [edi]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x3a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13ed105
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13ed13d
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x30
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x30], 0
mov ecx, dword [esp + 0x10]
je 0x13ed18c
mov al, byte [ecx + 0x15]
mov byte [esp + 0xf], al
cmp al, 8
jae 0x13ed18c
xor edx, edx
lea eax, [ecx + 0x60]
jmp 0x13ed160
mov ebx, dword [esp + 0x30]
cmp dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x38]
je 0x13ed188
inc edx
add eax, 0x18
cmp edx, 0xa
jl 0x13ed160
movzx eax, byte [esp + 0xf]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax*4 + 0x18], edx
inc byte [ecx + 0x15]
jmp 0x13ed18c
mov byte [eax + 9], 1
push dword [esp + 0x40]
mov eax, dword [ebx]
lea edx, [esp + 0x5c]
push dword [esp + 0x50]
push edx
push 0xffffffffffffffff
push 0
push dword [eax]
mov edx, ebx
push dword [esp + 0x4c]
push eax
call fcn.013ea660
mov ecx, dword [esi + 0x20]
add esp, 0x20
test ecx, ecx
je 0x13ed1c8
mov eax, dword [esp + 0x4c]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi]
mov dword [ecx], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13ed1e9
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13ed221
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x48]
mov word [eax + ecx*4], 0x42
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x13ed239
mov eax, dword [esp + 0x40]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi]
mov dword [ecx], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13ed25a
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13ed292
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [edi]
mov dword [esp + 0x54], eax
cmp dword [ecx], eax
jg 0x13ed2b3
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13edbb6
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
jmp 0x13edb83
mov eax, dword [ebx + 0x28]
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x28], eax
mov eax, dword [ebx + 0x2c]
mov dword [edx + 0x2c], eax
lea eax, [esp + 0x58]
push eax
call fcn.013f1ca0
mov ecx, eax
mov dword [ebx + 0x28], 0
add esp, 4
mov dword [esp + 0x18], ecx
mov dword [ebx + 0x2c], 0
test ecx, ecx
jne 0x13edda8
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x30]
mov dword [ebx + 0x30], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x54], ecx
mov dword [ebx + 0x34], eax
test ecx, ecx
je 0x13ed3be
mov ecx, dword [esp + 0x20]
mov eax, dword [edi]
mov dword [esp + 0x4c], eax
cmp dword [ecx], eax
jg 0x13ed33b
mov ecx, esi
call fcn.013c46d0
test eax, eax
je 0x13ed337
mov dword [esp + 0x4c], 1
jmp 0x13ed372
mov eax, dword [esp + 0x4c]
inc dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov edx, dword [esp + 0x54]
mov word [eax + ecx*4], 0x72
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
push eax
mov edx, ebx
call fcn.013f1ca0
mov ecx, eax
add esp, 4
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x13edbba
mov edx, dword [edi]
cmp edx, eax
jle 0x13edbba
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 8], edx
jmp 0x13edbb6
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x58]
push eax
mov edx, ebx
call fcn.013f1ca0
mov ecx, eax
add esp, 4
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
mov dword [ebx + 0x1c], eax
jmp 0x13edbba
cmp byte [esp + 0x58], 1
jne 0x13ed3fd
cmp dword [ebx + 0x28], 0
jne 0x13ed3fd
cmp dword [ebx + 0x2c], 0
je 0x13ed47a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x14], eax
inc eax
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x20]
mov edx, dword [edi]
mov dword [esp + 0x54], edx
cmp dword [eax], edx
jg 0x13ed430
mov ecx, esi
call fcn.013c46d0
test eax, eax
je 0x13ed42c
mov edx, 1
jmp 0x13ed46b
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0x14]
lea ecx, [edx + edx*4]
inc dword [edi]
mov edi, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x24]
mov word [eax + ecx*4], 0x28
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x38], edx
mov edx, dword [esp + 0x2c]
or word [eax + 6], 8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
mov word [esp + 0x7c], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
call fcn.013f1ca0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x13edda8
cmp byte [ebx + 4], 0x71
mov edx, ebx
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x4c], eax
sete al
inc al
mov dword [ebx + 0x28], ecx
mov byte [esp + 0x78], al
lea eax, [esp + 0x78]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [esp + 0x10]
push eax
call fcn.013f1ca0
mov edx, dword [ebx + 0x18]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
call fcn.013d1d50
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], 0
mov dword [esp + 0x54], edx
test edx, edx
je 0x13ed570
mov ecx, dword [esp + 0x1c]
call fcn.013d0e20
mov edx, dword [esp + 0x54]
cmp word [edx + 2], 0
jl 0x13ed570
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x13ed567
cmp edx, dword [ecx + 0xf0]
jb 0x13ed567
cmp edx, dword [ecx + 0xf4]
jae 0x13ed567
mov eax, dword [ecx + 0xec]
mov dword [edx], eax
dec dword [ecx + 0xe4]
mov dword [ecx + 0xec], edx
jmp 0x13ed570
push edx
call fcn.013b4350
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x2c], eax
mov al, byte [esp + 0x58]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
cmp al, 1
je 0x13edbb6
cmp al, 5
jne 0x13ed5be
mov eax, dword [ebx + 0x1c]
mov ecx, ebx
test eax, eax
je 0x13ed5ae
mov ecx, eax
mov eax, dword [ecx + 0x1c]
test eax, eax
jne 0x13ed5a5
push dword [ecx]
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.013eb820
add esp, 4
mov ecx, esi
call fcn.013c4830
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.013c4830
cmp dword [ebx + 0x30], 0
mov dword [esp + 0x40], eax
jne 0x13eda52
mov ecx, dword [esp + 0x10]
call fcn.013d3850
cmp dword [ebx + 0x28], 0
je 0x13eda52
mov eax, dword [ecx + 0x48]
inc eax
mov dword [ecx + 0x48], eax
mov dword [ebx + 0x30], eax
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x30], eax
test edi, edi
jne 0x13ed622
mov ecx, dword [ecx]
call fcn.013c4610
mov ecx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], edi
test edi, edi
je 0x13eda4e
mov edx, dword [ebx + 0x28]
push eax
call fcn.013d3cc0
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x30]
je 0x13ed6a2
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x54], edx
test edx, edx
je 0x13ed6a2
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
cmp dword [edx + 0x10], eax
jg 0x13ed666
mov ecx, edx
call fcn.013c46d0
test eax, eax
jne 0x13ed6a2
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
inc dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x10], ecx
jg 0x13ed6c2
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13ed6fb
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x10], eax
jg 0x13ed716
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13ed74e
mov eax, dword [esp + 0x54]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x72
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
cmp dword [ebx + 0x2c], 0
je 0x13eda4e
mov eax, dword [esp + 0x10]
inc dword [eax + 0x48]
mov ecx, dword [eax + 0x48]
mov dword [ebx + 0x34], ecx
inc dword [eax + 0x48]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x34], ecx
push ecx
mov ecx, eax
call fcn.013d3cc0
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x34]
je 0x13ed7ee
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x54], edx
test edx, edx
je 0x13ed7ee
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
cmp dword [edx + 0x10], eax
jg 0x13ed7b2
mov ecx, edx
call fcn.013c46d0
test eax, eax
jne 0x13ed7ee
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
inc dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x28]
mov word [eax + ecx*4], 0xf
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edx + 0x6e], 0
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x10], ecx
jg 0x13ed80e
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13ed847
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov edx, dword [edi + 0xc]
mov eax, edx
mov dword [esp + 0x4c], edx
cmp dword [edi + 0x10], edx
jg 0x13ed871
mov ecx, edi
call fcn.013c46d0
test eax, eax
je 0x13ed86a
mov dword [esp + 0x4c], 1
jmp 0x13ed8aa
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x4c]
inc eax
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x34]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 0x70
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x10], ecx
jg 0x13ed8ca
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13ed903
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x4c]
cmp edx, eax
jle 0x13ed918
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x10], ecx
jg 0x13ed938
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13ed995
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], edx
inc edx
mov word [eax + ecx*4], 0x56
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [esp + 0x48], edx
mov byte [edi + 0x6e], 0
mov edx, dword [edi + 0xc]
mov eax, edx
mov dword [esp + 0x4c], edx
cmp dword [edi + 0x10], edx
jg 0x13ed9a7
mov ecx, edi
call fcn.013c46d0
test eax, eax
je 0x13ed9a0
mov dword [esp + 0x4c], 1
jmp 0x13ed9e0
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x48], eax
jmp 0x13ed972
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x4c]
inc eax
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x30]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 0x70
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edi + 0x10], ecx
jg 0x13eda00
mov ecx, edi
call fcn.013c46d0
test eax, eax
jne 0x13eda39
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [edi + 0x6e], 0
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x4c]
cmp edx, eax
jle 0x13eda4e
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
mov dword [eax + ecx*4 + 8], edx
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13eda73
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13edaab
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x40
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
push dword [esp + 0x44]
mov eax, dword [edi]
lea ecx, [esp + 0x5c]
push dword [esp + 0x44]
mov dword [esp + 0x58], eax
mov edx, ebx
mov eax, dword [ebx]
push ecx
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
push 0
push dword [eax]
push dword [esp + 0x2c]
push eax
call fcn.013ea660
mov ecx, dword [esi + 0x20]
add esp, 0x20
test ecx, ecx
je 0x13edaf1
mov eax, dword [esp + 0x40]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi]
mov dword [ecx], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x54], ecx
cmp dword [edx], ecx
jg 0x13edb12
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13edb4a
mov eax, dword [edi]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
inc eax
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 0x42
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x13edb62
mov eax, dword [esp + 0x44]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [edi]
mov dword [esp + 0x54], eax
cmp dword [ecx], eax
jg 0x13edb7f
mov ecx, esi
call fcn.013c46d0
test eax, eax
jne 0x13edbb6
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
inc dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x18]
test byte [ebx + 6], 8
je 0x13edda8
mov eax, dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edi, dword [eax]
mov dword [esp + 0x48], edi
lea edx, [edi + 4]
lea edx, [edi + edx*4]
test ecx, ecx
je 0x13edc2b
cmp byte [ecx + 0x1e], 0
jne 0x13edd9f
cmp byte [ecx + 0xe2], 0
je 0x13edc2b
movzx eax, word [ecx + 0xe0]
cmp edx, eax
jg 0x13edc2b
mov esi, dword [ecx + 0xec]
mov dword [esp + 0x34], esi
test esi, esi
je 0x13edc2b
mov eax, dword [esi]
mov dword [ecx + 0xec], eax
mov eax, dword [ecx + 0xe4]
inc eax
mov dword [ecx + 0xe4], eax
cmp eax, dword [ecx + 0xe8]
jle 0x13edc58
mov dword [ecx + 0xe8], eax
jmp 0x13edc58
push edx
call fcn.013b42e0
mov esi, eax
mov dword [esp + 0x38], eax
add esp, 4
test esi, esi
jne 0x13edc52
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x13edc4a
mov byte [eax + 0x1e], 1
test esi, esi
je 0x13edd9f
lea edx, [edi + 4]
lea edx, [edi + edx*4]
push edx
push 0
push esi
call fcn.01405710
mov eax, dword [esp + 0x28]
lea edx, [esi + 0xc]
xor ecx, ecx
mov dword [esp + 0x4c], edx
add esp, 0xc
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x49]
mov byte [esi + 4], al
mov word [esi + 6], di
test edi, edi
jle 0x13edd02
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], esi
mov eax, dword [ebx + 0x1c]
mov esi, dword [esp + 0x10]
test eax, eax
je 0x13edcb7
push ecx
mov edx, eax
mov ecx, esi
call fcn.013ec690
mov ecx, dword [esp + 0x48]
add esp, 4
mov edx, dword [esp + 0x40]
test eax, eax
jne 0x13edcde
jmp 0x13edcb9
xor eax, eax
mov edi, dword [ebx]
cmp ecx, dword [edi]
mov edi, dword [esp + 0x48]
jge 0x13edcde
mov eax, dword [ebx]
mov ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x4c]
mov edx, dword [edx + eax]
call fcn.013d0230
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [edx], eax
test eax, eax
jne 0x13edced
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
add dword [esp + 0x4c], 0x14
inc ecx
add edx, 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
cmp ecx, edi
jl 0x13edc91
lea esi, [ebx + 0x38]
xor edi, edi
mov ebx, dword [esp + 0x28]
jmp 0x13edd10
mov edx, dword [esi]
test edx, edx
js 0x13edd4f
mov eax, dword [esp + 0x24]
cmp dword [eax], edx
jle 0x13edd30
mov eax, dword [ebx + 0x14]
lea ecx, [edx + edx*4]
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x28]
push 0xfffffffffffffffa
push dword [esp + 0x38]
mov ecx, ebx
call fcn.013c4d30
mov dword [esi], 0xffffffff
inc edi
add esp, 8
add esi, 4
cmp edi, 2
jl 0x13edd10
mov ebx, dword [esp + 0x38]
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x13edd02
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
cmp ecx, dword [ebx + 0xf0]
jb 0x13edd90
cmp ecx, dword [ebx + 0xf4]
jae 0x13edd90
mov eax, dword [ebx + 0xec]
mov dword [ecx], eax
dec dword [ebx + 0xe4]
mov dword [ebx + 0xec], ecx
mov ecx, dword [esp + 0x18]
jmp 0x13eddac
push ecx
call fcn.013b4350
mov ecx, dword [esp + 0x1c]
add esp, 4
jmp 0x13eddac
mov ecx, 7
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc], eax
test esi, esi
je 0x13ede10
mov edx, esi
mov ecx, ebx
call fcn.013e98b0
test ebx, ebx
je 0x13ede03
cmp esi, dword [ebx + 0xf0]
jb 0x13ede03
cmp esi, dword [ebx + 0xf4]
jae 0x13ede03
mov eax, dword [ebx + 0xec]
mov ecx, dword [esp + 0x18]
mov dword [esi], eax
mov eax, ecx
dec dword [ebx + 0xe4]
mov dword [ebx + 0xec], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.013b4350
mov ecx, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret