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

Disassembly:
sub esp, 0x94
xor eax, eax
push ebx
mov ebx, dword [esp + 0x9c]
cmp dword [ebx + 0x40], eax
mov ecx, dword [ebx]
push ebp
push esi
push edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
jne 0x58601c
cmp byte [ecx + 0x1e], al
jne 0x58601c
mov ecx, dword [esp + 0xac]
cmp dword [ecx + 0xc], eax
je 0x58601c
push ebx
mov eax, ecx
call fcn.0057f1a0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x58601c
mov ebp, dword [esp + 0x40]
mov edi, eax
mov esi, dword [edi + 0x40]
mov ecx, ebp
call fcn.0053ab00
mov edx, dword [ebp + 8]
mov dword [esp + 0x48], eax
shl eax, 4
mov eax, dword [eax + edx]
push eax
mov eax, dword [edi]
push 0
push eax
push 0x12
mov eax, ebx
call fcn.00547af0
add esp, 0x10
test eax, eax
jne 0x58601c
lea ecx, [esp + 0x1c]
push ecx
push eax
push 0x69
push ebx
mov eax, edi
call fcn.0053b260
xor edx, edx
cmp dword [edi + 0x18], edx
mov esi, eax
setne dl
push edi
push ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x74], edx
call fcn.00584920
add esp, 0x18
test eax, eax
jne 0x58601c
mov eax, dword [esp + 0x1c]
push eax
mov ecx, edi
mov eax, ebx
call fcn.00548e20
add esp, 4
test eax, eax
jne 0x58601c
mov edi, ebx
call fcn.0054a230
mov ebp, eax
test ebp, ebp
je 0x58601c
cmp byte [ebx + 0x13], 0
jne 0x584ba8
mov byte [ebp + 0x61], 1
cmp dword [esp + 0xb4], 0
jne 0x584bba
test esi, esi
jne 0x584bba
xor eax, eax
jmp 0x584bbf
mov eax, 1
mov edi, dword [esp + 0x48]
push eax
mov eax, ebx
call fcn.00560c10
add esp, 4
cmp dword [esp + 0xb8], 0
jne 0x584bfe
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
push edi
push ecx
push edx
push ebx
call fcn.0057f5d0
add esp, 0x10
test eax, eax
jne 0x585f7a
mov esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x10]
push edi
mov edx, esi
call fcn.00542b40
xor ebx, ebx
add esp, 4
cmp dword [esp + 0xb4], ebx
mov dword [esp + 0x3c], eax
je 0x58500a
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x14], eax
jg 0x584c45
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584c6e
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0xa8]
add dword [eax + 0x48], 1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov eax, dword [eax + 0x48]
lea edx, [esi + 2]
mov byte [esp + 0x6c], 0xa
mov dword [esp + 0x70], eax
mov byte [esp + 0x6d], bl
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x24], edx
jg 0x584cab
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584cdb
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x24]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x70]
add edx, 0xffffffff
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x584cf8
mov edi, ebp
call fcn.00540600
test eax, eax
je 0x584cf8
mov dword [esp + 0x34], 1
jmp 0x584d21
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x6c]
push ecx
push edx
push eax
call fcn.005809a0
add esp, 0xc
test eax, eax
jne 0x58601c
mov ecx, dword [esp + 0xa8]
cmp dword [ecx + 0x40], ebx
jne 0x58601c
mov edx, dword [esp + 0x40]
cmp byte [edx + 0x1e], bl
jne 0x58601c
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x584d76
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584da7
mov edx, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
xor ebx, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x584da9
xor ebx, ebx
mov edx, dword [esp + 0x70]
push edx
push 4
mov eax, ebp
call fcn.00540730
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
jg 0x584dcd
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584df7
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, 2
mov byte [eax], 6
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jle 0x584e0c
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x68], ebx
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
jne 0x584e52
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
push eax
push ecx
mov eax, esi
call fcn.00551290
add esp, 8
xor ebx, ebx
test eax, eax
je 0x5850ba
mov edx, dword [esi + 0x44]
lea eax, [edx + 1]
mov dword [esi + 0x44], eax
mov eax, esi
mov dword [esp + 0x50], 1
mov dword [esp + 0x28], edx
call fcn.00539a60
mov dword [esp + 0x24], eax
mov eax, esi
call fcn.00539a60
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x18], eax
jg 0x584e94
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584ebd
mov edx, dword [esp + 0x28]
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x29
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edx, dword [esp + 0x70]
push edx
push 4
mov eax, ebp
call fcn.00540730
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
push eax
push 0x1a
mov eax, ebp
call fcn.00540730
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
push ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x88]
push edx
push eax
push 0x1e
mov eax, ebp
call fcn.00540680
mov esi, dword [ebp + 0xc]
add esp, 0x20
cmp dword [ebp + 0x10], esi
jg 0x584f12
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584f3f
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov byte [eax], 0x36
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push 0x37
mov eax, ebp
call fcn.00540680
mov esi, dword [ebp + 0xc]
add esp, 0x10
cmp dword [ebp + 0x10], esi
jg 0x584f6d
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x584f96
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jle 0x584fab
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0xa8]
call fcn.00539a80
mov esi, dword [esp + 0x18]
call fcn.00539a80
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov eax, dword [esp + 0x10]
test byte [eax + 0x1e], 0x10
je 0x5850c3
mov esi, dword [eax + 8]
cmp esi, ebx
jle 0x5850c3
mov eax, dword [eax + 0xc]
mov edi, dword [esp + 0x20]
add eax, 0x17
lea ecx, [ecx]
xor ecx, ecx
cmp byte [eax], bl
setne cl
add eax, 0x18
add edi, ecx
sub esi, 1
jne 0x584ff0
mov eax, dword [esp + 0x10]
jmp 0x5850c7
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xb0]
cmp eax, ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x28], 0xffffffff
je 0x585069
mov eax, dword [eax]
jmp 0x58506b
xor eax, eax
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x2c], eax
jle 0x5850ba
mov dword [esp + 0x24], ebx
lea esp, [esp]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, dword [edx + ecx]
lea esi, [esp + 0x80]
call fcn.005557b0
test eax, eax
jne 0x58601c
mov edx, dword [esp + 0x2c]
add dword [esp + 0x24], 0x14
add edi, 1
cmp edi, edx
jl 0x585080
jmp 0x584fc8
mov edx, dword [esp + 0x2c]
jmp 0x584fca
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0xb8]
cmp ecx, ebx
jne 0x58510f
cmp edx, ebx
je 0x585273
mov eax, dword [eax + 8]
sub eax, edi
cmp edx, eax
je 0x585264
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0xa8]
push edx
push eax
mov eax, dword [esp + 0xb4]
push ebx
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
call fcn.005452d0
add esp, 0x14
jmp 0x58601c
mov esi, dword [ecx + 4]
cmp edx, esi
je 0x585135
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xa8]
push esi
push ecx
push str._d_values_for__d_columns
call fcn.005452d0
add esp, 0xc
jmp 0x58601c
xor eax, eax
cmp esi, ebx
jle 0x58514e
or edx, 0xffffffff
mov edi, edi
mov esi, dword [ecx]
mov dword [esi + eax*8 + 4], edx
add eax, 1
cmp eax, dword [ecx + 4]
jl 0x585140
cmp dword [ecx + 4], ebx
mov dword [esp + 0x18], ebx
jle 0x585273
jmp 0x585160
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x34], eax
jle 0x5851c7
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov edx, dword [edi]
mov ecx, dword [esp + 0x30]
call fcn.00533050
test eax, eax
je 0x5851af
add esi, 1
add edi, 0x18
cmp esi, dword [esp + 0x34]
jl 0x585192
jmp 0x5851c7
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x10]
mov dword [edx + 4], esi
cmp esi, dword [eax + 4]
jne 0x5851c7
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 8]
mov edi, dword [esp + 0x18]
jl 0x585214
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov esi, dword [ecx + edi*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.00533050
test eax, eax
je 0x585210
mov edx, str.ROWID
mov ecx, esi
call fcn.00533050
test eax, eax
je 0x585210
mov edx, 0x5fd044
mov ecx, esi
call fcn.00533050
test eax, eax
jne 0x58522d
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0xb8]
add edi, 1
cmp edi, dword [edx + 4]
mov dword [esp + 0x18], edi
jl 0x585160
jmp 0x585273
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*8]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xa8]
push eax
push ebx
push ecx
push str.table__S_has_no_column_named__s
call fcn.005452d0
add esp, 0x10
mov byte [edi + 0x12], 1
jmp 0x58601c
cmp edx, ebx
mov eax, dword [esp + 0x10]
jle 0x585273
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x40]
test dword [eax + 0xc], 0x1000
mov edi, dword [esp + 0xa8]
je 0x5852d5
add dword [edi + 0x48], 1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x58], ecx
jg 0x5852ac
mov edi, ebp
call fcn.00540600
test eax, eax
mov edi, dword [esp + 0xa8]
jne 0x5852d5
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x58]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
cmp dword [esp + 0x5c], ebx
jne 0x585333
mov eax, dword [edi + 0x44]
push 0x27
push eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
push edi
call fcn.00567b70
mov esi, dword [esp + 0x4c]
add esp, 0xc
lea ecx, [eax*4 + 4]
mov dword [esp + 0x30], eax
call fcn.0053d980
cmp eax, ebx
mov dword [esp + 0x64], eax
je 0x58601c
mov esi, dword [esp + 0x30]
xor ecx, ecx
test esi, esi
jle 0x585331
lea esp, [esp]
add dword [edi + 0x48], 1
mov edx, dword [edi + 0x48]
mov dword [eax + ecx*4], edx
add ecx, 1
cmp ecx, esi
jl 0x585320
xor ebx, ebx
cmp dword [esp + 0x50], ebx
je 0x585357
mov edx, dword [esp + 0x28]
push edx
push 0x41
mov eax, ebp
call fcn.00540730
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [esp + 0x54], eax
jmp 0x585387
cmp dword [esp + 0xb4], ebx
je 0x585387
mov ecx, dword [esp + 0x70]
push ecx
push 4
mov eax, ebp
call fcn.00540730
mov edx, dword [esp + 0x1c]
push edx
mov dword [esp + 0x60], eax
push 0x1a
mov eax, ebp
call fcn.00540730
add esp, 0x10
mov dword [esp + 0x60], eax
add dword [edi + 0x48], 1
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 8]
mov esi, dword [esp + 0x10]
lea ecx, [eax + 1]
lea eax, [eax + edx + 1]
mov dword [edi + 0x48], eax
test byte [esi + 0x1e], 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], ecx
je 0x5853be
add ecx, 1
add eax, 1
mov dword [esp + 0x14], ecx
mov dword [edi + 0x48], eax
add ecx, 1
mov eax, ebp
mov dword [esp + 0x30], ecx
call fcn.005407a0
test byte [esp + 0x1c], 1
mov dword [esp + 0x24], eax
je 0x58570e
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0x38]
mov esi, dword [edi + 0x3c]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x20], esi
jg 0x5853fc
lea edx, [eax + esi]
sub ecx, eax
mov dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
jmp 0x58540b
mov ecx, dword [edi + 0x48]
lea esi, [ecx + 1]
add eax, ecx
mov dword [esp + 0x20], esi
mov dword [edi + 0x48], eax
cmp dword [esp + 0x38], ebx
jge 0x585461
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x58542f
mov edi, ebp
call fcn.00540600
test eax, eax
mov edi, dword [esp + 0xa8]
jne 0x585517
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x585517
cmp dword [esp + 0x50], ebx
mov eax, dword [esp + 0x38]
je 0x585480
mov ecx, dword [esp + 0x28]
push esi
push eax
push ecx
push 0x1c
mov eax, ebp
call fcn.00540680
add esp, 0x10
jmp 0x585497
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + edx*4]
mov ecx, edi
call fcn.00541980
push esi
push 0x4a
mov eax, ebp
call fcn.00540730
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov ecx, eax
mov dword [esp + 0x1c], ecx
jg 0x5854c1
mov edi, ebp
call fcn.00540600
test eax, eax
mov ecx, dword [esp + 0x1c]
jne 0x5854ee
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x5854ff
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x20]
push eax
push 0x15
mov eax, ebp
call fcn.00540730
mov edi, dword [esp + 0xb0]
add esp, 8
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 8], ebx
mov dword [esp + 0x18], ebx
jle 0x58564b
mov dword [esp + 0x48], ebx
lea esp, [esp]
mov eax, dword [esp + 0xb8]
cmp eax, ebx
jne 0x585541
mov esi, dword [esp + 0x18]
jmp 0x585569
mov ecx, dword [eax + 4]
xor esi, esi
cmp ecx, ebx
jle 0x585569
mov eax, dword [eax]
add eax, 4
nop
mov edx, dword [esp + 0x18]
cmp dword [eax], edx
je 0x585562
add esi, 1
add eax, 8
cmp esi, ecx
jl 0x585550
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
jne 0x58557a
cmp dword [esp + 0xb0], ebx
je 0x585583
cmp eax, ebx
je 0x5855aa
cmp esi, dword [eax + 4]
jl 0x5855aa
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea esi, [eax + ecx + 1]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + ecx + 4]
mov ecx, edi
call fcn.00541980
jmp 0x58562e
cmp ecx, ebx
je 0x585607
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x5855d0
mov edi, ebp
call fcn.00540600
test eax, eax
mov edi, dword [esp + 0xa8]
jne 0x58562e
mov eax, dword [esp + 0x1c]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
lea edx, [edx + ecx + 1]
mov byte [eax], 0x1c
mov byte [eax + 3], bl
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x58562e
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
lea ecx, [eax + ecx + 1]
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0xc]
lea edx, [esi + esi*4]
mov edx, dword [eax + edx*4]
push edx
mov eax, edi
call fcn.005419f0
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x48], 0x18
add eax, 1
cmp eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
jl 0x585530
cmp dword [esp + 0x5c], ebx
jne 0x5856b3
mov edx, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov eax, dword [edx + 8]
mov dword [esp + 0x1c], eax
jg 0x58566f
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x58569f
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add ecx, 1
mov byte [eax], 0x1d
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x10]
push ebp
call fcn.00542a70
mov edi, dword [esp + 0xac]
add esp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
sub edx, dword [esi + 8]
mov ecx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0x6c]
push ecx
sub edx, 1
push edx
push esi
push 1
push ebx
push 0x69
push eax
push edi
call fcn.0058af80
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x44]
add eax, 1
push ecx
mov esi, edi
mov dword [esp + 0x44], eax
call fcn.005398f0
mov edx, dword [esp + 0x44]
add esp, 0x28
cmp edx, dword [edi + 0x38]
jle 0x58570e
mov ecx, dword [esp + 0x20]
mov eax, edx
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
cmp dword [esp + 0x5c], ebx
jne 0x585d16
mov edx, dword [esp + 0x10]
test byte [edx + 0x1e], 0x10
je 0x58575e
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585735
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x58575e
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x38]
cmp eax, ebx
jl 0x5858f2
cmp dword [esp + 0x50], ebx
je 0x5857d6
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
push ecx
push eax
push edx
push 0x1c
mov eax, ebp
call fcn.00540680
add esp, 0x10
mov edx, dword [esp + 0x10]
test byte [edx + 0x1e], 0x10
jne 0x5858a0
mov edi, dword [esp + 0x14]
push edi
push 0x4a
mov eax, ebp
call fcn.00540730
mov ecx, dword [esp + 0x4c]
mov esi, eax
mov eax, dword [esp + 0x44]
push eax
push edi
push ecx
push 0x36
mov eax, ebp
call fcn.00540680
mov eax, dword [ebp + 0xc]
add esp, 0x18
cmp eax, esi
jle 0x5858df
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
jmp 0x5858df
cmp dword [esp + 0xb4], ebx
je 0x58582a
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x5857f2
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585787
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x4c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x38]
add edx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x14]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x585787
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0xa8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
call fcn.00541980
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp]
sub eax, 1
cmp byte [ecx + 0x1e], bl
je 0x58585f
mov eax, 0x5f9af8
jmp 0x585870
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
cmp eax, ebx
je 0x585787
cmp byte [eax], 0xa
jne 0x585787
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1e], 0x10
jne 0x585787
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x36
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
jmp 0x585955
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x5858b3
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x5858df
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
add esi, 2
mov byte [eax], 0x49
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edx, dword [esp + 0x14]
push edx
push 0x15
mov eax, ebp
call fcn.00540730
add esp, 8
jmp 0x58595d
mov eax, dword [esp + 0x10]
test byte [eax + 0x1e], 0x10
je 0x58593a
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x58590f
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x58595d
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x58595d
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
push 0x36
mov eax, ebp
call fcn.00540680
add esp, 0x10
mov dword [esp + 0x7c], 1
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0xb0]
call fcn.00542bb0
mov ecx, dword [esp + 0x18]
xor eax, eax
add esp, 8
cmp dword [ecx + 8], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], eax
jle 0x585aac
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x14], edx
lea esp, [esp]
mov edi, dword [esp + 0x10]
cmp eax, dword [edi + 4]
jne 0x5859ee
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x5859c0
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585a8a
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x14]
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x585a8a
mov edx, dword [esp + 0xb8]
cmp edx, ebx
jne 0x585b28
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x3c]
cmp byte [eax + ecx + 0x17], bl
je 0x585b1e
add dword [esp + 0x20], 1
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + ecx + 4]
mov edx, dword [esp + 0xa8]
push esi
push eax
push edx
call fcn.00570520
mov ecx, eax
add esp, 0xc
cmp ecx, esi
mov dword [esp + 0x1c], ecx
je 0x585a8a
mov eax, dword [esp + 0xa8]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x585a8a
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x585a61
call fcn.00540600
test eax, eax
jne 0x585a8a
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
add dword [edi + 0xc], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x62], bl
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
add dword [esp + 0x14], 1
add dword [esp + 0x3c], 0x18
add eax, 1
cmp eax, dword [edx + 8]
mov dword [esp + 0x18], eax
jl 0x5859a0
mov esi, dword [esp + 0x10]
test byte [esi + 0x1e], 0x10
je 0x585c97
mov eax, dword [esi + 0x30]
cmp eax, ebx
mov dword [esp + 0x4c], eax
je 0x585adf
mov ecx, dword [esp + 0x40]
lea esp, [esp]
cmp dword [eax], ecx
je 0x585adb
mov eax, dword [eax + 0x10]
cmp eax, ebx
jne 0x585ad0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa8]
push esi
call fcn.005430e0
mov ecx, dword [esi + 8]
mov esi, dword [ebp + 0xc]
add ecx, 2
add esp, 4
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x1c], ecx
jg 0x585c02
mov edi, ebp
call fcn.00540600
test eax, eax
je 0x585bfe
mov esi, 1
jmp 0x585c2f
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x20]
jmp 0x585b52
mov ecx, dword [edx + 4]
xor esi, esi
cmp ecx, ebx
jle 0x585b5a
mov eax, dword [edx]
mov edi, dword [esp + 0x18]
add eax, 4
lea ebx, [ebx]
cmp dword [eax], edi
je 0x585b4e
add esi, 1
add eax, 8
cmp esi, ecx
jl 0x585b40
mov edi, dword [esp + 0x10]
cmp esi, ebx
jl 0x585a13
cmp dword [esp + 0x2c], ebx
je 0x585a13
cmp edx, ebx
je 0x585b71
cmp esi, dword [edx + 4]
jge 0x585a13
cmp dword [esp + 0x50], ebx
je 0x585b93
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push edx
push esi
push eax
push 0x1c
mov eax, ebp
call fcn.00540680
add esp, 0x10
jmp 0x585a8a
cmp dword [esp + 0xb4], ebx
je 0x585bd9
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x585bb7
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585a8a
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x4c]
add esi, ecx
mov byte [eax], 0xf
mov dword [eax + 4], esi
jmp 0x5859d3
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0xa8]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + eax*4]
call fcn.00541980
jmp 0x585a8a
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x14]
mov edx, 1
add dword [ebp + 0xc], edx
lea eax, [esi + esi*4]
lea eax, [edi + eax*4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x34]
mov byte [eax], 0x85
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
mov edi, dword [ebp]
mov eax, esi
je 0x585c7b
cmp byte [edi + 0x1e], bl
jne 0x585c7b
cmp esi, ebx
jge 0x585c4a
mov eax, dword [ebp + 0xc]
sub eax, 1
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.005408f0
mov eax, dword [esp + 0x4c]
cmp eax, ebx
mov dword [esi + 0x10], ebx
jne 0x585c70
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x585c7b
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
add dword [eax + 0xc], 1
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + 0x1a8]
cmp eax, ebx
jne 0x585c8e
mov eax, ecx
mov byte [eax + 0x159], 1
jmp 0x585d16
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xbc]
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x1c]
push eax
xor eax, eax
cmp dword [esp + 0x3c], ebx
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x50]
setge al
push ebx
push eax
mov eax, dword [esp + 0xbc]
push ecx
push edi
push edx
push esi
push eax
call fcn.0057af00
mov ecx, dword [esp + 0xd0]
push edi
push ebx
push esi
push ecx
call fcn.0057f200
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x9c]
xor edx, edx
cmp dword [esp + 0x54], ebx
sete dl
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0xe8]
push ebx
push ecx
push edi
push edx
push esi
push eax
call fcn.00551b30
add esp, 0x58
mov ecx, dword [esp + 0x40]
test dword [ecx + 0xc], 0x1000
je 0x585d63
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585d36
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585d63
mov eax, dword [ebp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x58]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x14
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov ecx, dword [esp + 0x68]
cmp ecx, ebx
je 0x585d9e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x18]
sub eax, dword [edx + 8]
sub eax, 2
push eax
mov eax, dword [esp + 0xb4]
push edx
push 2
push ebx
push 0x69
push ecx
push eax
call fcn.0058af80
add esp, 0x24
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x585db7
mov ecx, dword [esp + 0x24]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x50], ebx
je 0x585e58
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585dd4
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585e01
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x54]
mov byte [eax], 0x43
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jle 0x585e16
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585e2d
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585eb2
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x585eb2
cmp dword [esp + 0xb4], ebx
je 0x585eb2
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585e74
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585e9d
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x54]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jle 0x585eb2
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x10]
test byte [eax + 0x1e], 0x10
jne 0x585f73
cmp dword [esp + 0x5c], 0
jne 0x585f73
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x585ede
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585f0b
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x44]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x585f0d
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp eax, ecx
mov dword [esp + 0x30], eax
je 0x585f73
mov ebx, dword [esp + 0x44]
add ebx, 1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585f36
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585f5f
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x585f61
xor ecx, ecx
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
add ebx, 1
cmp eax, ecx
mov dword [esp + 0x30], eax
jne 0x585f23
mov ebx, dword [esp + 0xa8]
cmp byte [ebx + 0x13], 0
jne 0x585f92
cmp dword [ebx + 0x1ac], 0
jne 0x585f92
push ebx
call fcn.00551730
add esp, 4
mov ecx, dword [esp + 0x40]
test dword [ecx + 0xc], 0x1000
je 0x58601c
cmp byte [ebx + 0x13], 0
jne 0x58601c
cmp dword [ebx + 0x1ac], 0
jne 0x58601c
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x585fc1
mov edi, ebp
call fcn.00540600
test eax, eax
jne 0x585ff1
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x58]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x10
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
push 1
mov edi, ebp
call fcn.00546890
mov eax, dword [ebp]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x58601c
mov edx, dword [ebp + 0x28]
push 1
push 0xffffffffffffffff
xor eax, eax
mov ecx, str.rows_inserted
call fcn.00562b70
add esp, 8
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x40]
push ecx
call fcn.0053a0a0
mov edx, dword [esp + 0xb4]
push edx
mov edi, esi
call fcn.00539490
mov edi, dword [esp + 0xbc]
add esp, 8
test edi, edi
je 0x58605b
push edi
push esi
call fcn.0053ab30
push edi
push esi
call fcn.00532d60
add esp, 0x10
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x58609c
xor ebx, ebx
cmp dword [ebp + 4], ebx
jle 0x586088
lea ecx, [ecx]
mov eax, dword [ebp]
mov ecx, dword [eax + ebx*8]
push ecx
push esi
call fcn.00532d60
add ebx, 1
add esp, 8
cmp ebx, dword [ebp + 4]
jl 0x586070
mov edx, dword [ebp]
push edx
push esi
call fcn.00532d60
push ebp
push esi
call fcn.00532d60
add esp, 0x10
mov eax, dword [esp + 0x64]
push eax
push esi
call fcn.00532d60
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret