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

Disassembly:
sub esp, 0x94
push ebx
xor ebx, ebx
push ebp
or eax, 0xffffffff
push esi
mov esi, dword [esp + 0xa4]
cmp dword [esi + 0x40], ebx
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebp
jne 0x53fca8
cmp byte [ebp + 0x1e], bl
jne 0x53fca8
cmp dword [eax + 0xc], ebx
je 0x53fca8
push edi
push eax
push esi
call fcn.00538c10
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x53fca7
mov eax, dword [edi + 0x4c]
push eax
push ebp
call fcn.0050c1e0
mov edx, dword [ebp + 8]
lea ecx, [eax + eax*2]
mov dword [esp + 0x54], eax
mov eax, dword [edx + ecx*8]
push eax
mov eax, dword [edi]
push ebx
push eax
push 0x12
push esi
call fcn.0052fa50
add esp, 0x1c
test eax, eax
jne 0x53fca7
push ebx
push 0x65
push edi
push esi
call fcn.0052d6e0
xor ecx, ecx
cmp dword [edi + 0x18], ebx
push eax
setne cl
push edi
push esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], ecx
call fcn.00538c70
add esp, 0x1c
test eax, eax
jne 0x53fca7
push edi
push esi
call fcn.00522a50
add esp, 8
test eax, eax
jne 0x53fca7
push esi
call fcn.00532610
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x53fca7
cmp byte [esi + 0x13], bl
jne 0x53f0ad
push ebp
call fcn.0050fdc0
add esp, 4
cmp dword [esp + 0xb4], ebx
jne 0x53f0c0
cmp dword [esp + 0x3c], ebx
jne 0x53f0c0
xor eax, eax
jmp 0x53f0c5
mov eax, 1
mov edx, dword [esp + 0x4c]
push edx
push eax
push esi
call fcn.005223f0
add esp, 0xc
cmp dword [esp + 0x3c], ebx
je 0x53f0e7
mov eax, dword [esi + 0x44]
mov dword [esp + 0x48], eax
add eax, 1
mov dword [esi + 0x44], eax
cmp dword [esp + 0xb8], ebx
jne 0x53f116
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0xb8]
push ecx
push edi
push esi
call fcn.0053ea90
add esp, 0x10
test eax, eax
jne 0x53fca7
mov edx, dword [esp + 0x4c]
push edi
mov ecx, esi
call fcn.0053dfe0
add esp, 4
cmp dword [esp + 0xb4], ebx
mov dword [esp + 0x40], eax
je 0x53f2d0
push ebx
push ebx
push 0x5b
push ebp
call fcn.0050e130
push ebp
mov dword [esp + 0x3c], eax
call fcn.0050e2f0
push ebp
mov dword [esp + 0x38], eax
call fcn.0050e150
push eax
lea edx, [esp + 0xb0]
push 0xa
push edx
mov dword [esp + 0x38], eax
call fcn.00530210
mov ecx, dword [esp + 0xd8]
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0xc8]
push eax
push ecx
push esi
call fcn.00533cb0
add esp, 0x40
test eax, eax
jne 0x53fca7
cmp dword [esi + 0x40], ebx
jne 0x53fca7
mov edx, dword [esp + 0x50]
cmp byte [edx + 0x1e], bl
jne 0x53fca7
mov eax, dword [esp + 0x9c]
push ebp
mov dword [esp + 0x64], eax
call fcn.0050e150
push eax
push 0
push 0x5b
push ebp
mov dword [esp + 0x48], eax
call fcn.0050e130
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ebx, dword [edx]
add esp, 0x14
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x44], ebx
jne 0x53f1f6
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x24]
push ebp
call fcn.0053df50
add esp, 8
test eax, eax
je 0x53f2bd
mov eax, dword [esi + 0x44]
mov dword [esp + 0x24], eax
add eax, 1
push esi
mov dword [esp + 0x3c], 1
mov dword [esi + 0x44], eax
call fcn.00535b70
push esi
mov edi, eax
call fcn.00535b70
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
mov ebx, eax
call fcn.0050e1a0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x70]
push edi
push edx
push eax
push 0x55
push ebp
call fcn.0050e060
mov ecx, dword [esp + 0x48]
push ebx
push ecx
push 0x19
push ebp
call fcn.0050e130
mov edx, dword [esp + 0x58]
push ebx
push edi
push edx
push 0x69
push ebp
call fcn.0050e060
add esp, 0x48
push 0
push 0
push 0x18
push ebp
call fcn.0050e130
push edi
push esi
call fcn.00535c10
push ebx
push esi
call fcn.00535c10
mov eax, dword [esp + 0x48]
push eax
push ebp
call fcn.0050e4b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push 0x70
push ebp
call fcn.0050e130
mov eax, dword [esp + 0x58]
push eax
push 0
push 0x5b
push ebp
call fcn.0050e130
mov ecx, dword [esp + 0x7c]
add esp, 0x48
push ecx
push ebp
call fcn.0050e1a0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
add esp, 8
jmp 0x53f37b
mov edx, dword [esp + 0x28]
push edx
push ebp
call fcn.0050e4b0
add esp, 8
jmp 0x53f37b
xor eax, eax
cmp dword [esp + 0xb0], ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 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 + 0x70], esi
mov dword [esp + 0x24], 0xffffffff
je 0x53f325
mov eax, dword [esp + 0xb0]
mov ebx, dword [eax]
jmp 0x53f327
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x10], 0
jle 0x53f37b
mov dword [esp + 0x18], 0
nop
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + edx]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.005373b0
add esp, 8
test eax, eax
jne 0x53fca7
mov eax, dword [esp + 0x10]
add dword [esp + 0x18], 0xc
add eax, 1
cmp eax, ebx
mov dword [esp + 0x10], eax
jl 0x53f340
cmp byte [edi + 0x39], 0
je 0x53f3a7
mov ecx, dword [edi + 4]
test ecx, ecx
jle 0x53f3a7
mov eax, dword [edi + 8]
add eax, 0x13
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp byte [eax], cl
setne cl
add eax, 0x14
add dword [esp + 0x1c], ecx
sub dword [esp + 0x28], 1
jne 0x53f392
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x53f3e9
test ebx, ebx
je 0x53f50d
mov eax, dword [edi + 4]
mov edx, eax
sub edx, dword [esp + 0x1c]
cmp ebx, edx
je 0x53f502
push ebx
push eax
mov eax, dword [esp + 0xb4]
push ecx
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push esi
call fcn.00511b10
add esp, 0x18
jmp 0x53fca7
mov edx, dword [ecx + 4]
cmp ebx, edx
je 0x53f405
push edx
push ebx
push str._d_values_for__d_columns
push esi
call fcn.00511b10
add esp, 0x10
jmp 0x53fca7
xor eax, eax
test edx, edx
jle 0x53f41e
or edx, 0xffffffff
mov edi, edi
mov ebx, dword [ecx]
mov dword [ebx + eax*8 + 4], edx
add eax, 1
cmp eax, dword [ecx + 4]
jl 0x53f410
cmp dword [ecx + 4], 0
mov dword [esp + 0x10], 0
jle 0x53f50d
xor ebx, ebx
cmp dword [edi + 4], ebx
jle 0x53f491
mov dword [esp + 0x18], ebx
jmp 0x53f440
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + ecx]
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + eax*8]
push ecx
call fcn.00511c40
add esp, 8
test eax, eax
je 0x53f477
add dword [esp + 0x18], 0x14
add ebx, 1
cmp ebx, dword [edi + 4]
jl 0x53f440
jmp 0x53f491
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx]
mov eax, dword [esp + 0x10]
mov dword [ecx + eax*8 + 4], ebx
cmp ebx, dword [edi + 0xc]
jne 0x53f491
mov dword [esp + 0x2c], eax
cmp ebx, dword [edi + 4]
jl 0x53f4b7
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax + ebx*8]
push ecx
call fcn.00535400
add esp, 4
test eax, eax
je 0x53f4d4
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
add eax, 1
cmp eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jl 0x53f430
jmp 0x53f50d
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [ecx + ebx*8]
mov eax, dword [esp + 0xac]
push edx
push 0
push eax
push str.table__S_has_no_column_named__s
push esi
call fcn.00511b10
add esp, 0x14
add dword [esi + 0x40], 1
jmp 0x53fca7
test ebx, ebx
jle 0x53f50d
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x3c], 0
je 0x53f534
mov edx, dword [edi + 4]
push edx
push 0
push 0x62
push ebp
call fcn.0050e130
mov eax, dword [esp + 0x58]
push 0
push eax
push 0x6f
push ebp
call fcn.0050e130
add esp, 0x20
mov ecx, dword [esp + 0x50]
test byte [ecx + 0xc], 0x80
je 0x53f557
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
push eax
push 0
push 0x2f
push ebp
mov dword [esp + 0x6c], eax
call fcn.0050e130
add esp, 0x10
cmp dword [esp + 0x58], 0
jne 0x53f5b1
mov eax, dword [esi + 0x44]
push 9
push eax
push edi
push esi
mov dword [esp + 0x40], eax
call fcn.0053e980
mov ebx, eax
mov eax, dword [esp + 0x60]
lea edx, [ebx*4 + 4]
push edx
push eax
call fcn.00511720
add esp, 0x18
test eax, eax
mov dword [esp + 0x54], eax
je 0x53fca7
xor ecx, ecx
test ebx, ebx
jle 0x53f5b1
jmp 0x53f5a0
add dword [esi + 0x48], 1
mov edx, dword [esi + 0x48]
mov dword [eax + ecx*4], edx
add ecx, 1
cmp ecx, ebx
jl 0x53f5a0
cmp dword [esp + 0x38], 0
je 0x53f5e2
push ebp
call fcn.0050e150
mov ecx, dword [esp + 0x28]
push eax
push ecx
push 0x74
push ebp
mov dword [esp + 0x80], eax
call fcn.0050e130
push ebp
call fcn.0050e2f0
mov dword [esp + 0x80], eax
jmp 0x53f606
cmp dword [esp + 0xb4], 0
je 0x53f609
mov edx, dword [esp + 0x20]
push edx
push 0
push 0x5b
push ebp
call fcn.0050e130
mov eax, dword [esp + 0x24]
push eax
push ebp
call fcn.0050e1a0
add esp, 0x18
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
mov ecx, dword [edi + 4]
lea ebx, [eax + 1]
lea eax, [ecx + eax + 1]
mov dword [esi + 0x48], eax
cmp byte [edi + 0x39], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
je 0x53f638
add ebx, 1
add eax, 1
mov dword [esp + 0x10], ebx
mov dword [esi + 0x48], eax
push ebp
call fcn.0050e150
add esp, 4
test byte [esp + 0x3c], 1
mov dword [esp + 0x18], eax
je 0x53f82e
push esi
call fcn.00535b70
mov ebx, eax
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
mov dword [esp + 0x20], ebx
push ebx
jge 0x53f677
push 0xffffffffffffffff
push 0x2f
push ebp
call fcn.0050e130
add esp, 0x10
jmp 0x53f6d7
cmp dword [esp + 0x3c], 0
je 0x53f691
mov edx, dword [esp + 0x28]
push eax
push edx
push 3
push ebp
call fcn.0050e060
add esp, 0x14
jmp 0x53f6d7
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push esi
call fcn.005358f0
push ebx
push 0x42
push ebp
call fcn.0050e110
push ebx
push 0xffffffffffffffff
push 0x2f
push ebp
mov dword [esp + 0x3c], eax
call fcn.0050e130
mov ecx, dword [esp + 0x3c]
push ecx
push ebp
call fcn.0050e4b0
push ebx
push 0x25
push ebp
call fcn.0050e110
add esp, 0x3c
mov edx, dword [edi + 4]
push edx
push esi
call fcn.00535c30
xor ebx, ebx
add esp, 8
cmp dword [edi + 4], ebx
mov dword [esp + 0x1c], eax
jle 0x53f798
mov dword [esp + 0x14], ebx
jmp 0x53f700
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x53f72e
mov eax, ebx
mov ecx, dword [esp + 0x1c]
add ecx, ebx
cmp dword [esp + 0x38], 0
push ecx
je 0x53f76d
mov edx, dword [esp + 0x28]
push eax
push edx
push 3
push ebp
call fcn.0050e060
add esp, 0x14
jmp 0x53f787
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x53f74e
mov ecx, dword [ecx]
add ecx, 4
lea esp, [esp]
cmp dword [ecx], ebx
je 0x53f74e
add eax, 1
add ecx, 8
cmp eax, edx
jl 0x53f740
cmp eax, edx
jl 0x53f70d
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x14]
add eax, ebx
push eax
mov eax, dword [ecx + edx + 4]
push eax
push esi
call fcn.005358f0
jmp 0x53f784
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
push edx
push esi
call fcn.00535930
add esp, 0xc
add dword [esp + 0x14], 0x14
add ebx, 1
cmp ebx, dword [edi + 4]
jl 0x53f700
push esi
call fcn.00535b70
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [edi + 4]
push ebx
push eax
push ecx
push 0x55
push ebp
call fcn.0050e060
add esp, 0x18
cmp dword [esp + 0x58], 0
jne 0x53f7c6
push edi
push ebp
call fcn.0053dee0
add esp, 8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
push edx
push ebx
push eax
push 0x69
push ebp
call fcn.0050e060
push ebx
push esi
call fcn.00535c10
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.00535c10
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
push edx
push eax
push esi
call fcn.00535ca0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0x78]
push 0
push 0
push ecx
push edx
push 0xffffffffffffffff
push eax
push edi
push 1
push 0
push 0x65
push esi
call fcn.0052d9d0
add esp, 0x5c
test eax, eax
jne 0x53fca7
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x58], 0
jne 0x53fb42
cmp byte [edi + 0x39], 0
je 0x53f851
mov ecx, dword [esp + 0x28]
push ecx
push 0
push 0x71
push ebp
call fcn.0050e130
add esp, 0x10
cmp dword [esp + 0x2c], 0
jl 0x53f92c
cmp dword [esp + 0x38], 0
push ebx
je 0x53f8b5
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
push edx
push eax
push 3
push ebp
call fcn.0050e060
add esp, 0x14
push ebx
push 0x42
push ebp
call fcn.0050e110
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
push eax
push ebx
push ecx
push 0x19
push ebp
call fcn.0050e060
mov edx, dword [esp + 0x34]
push edx
push ebp
call fcn.0050e4b0
push ebx
push 0x25
push ebp
call fcn.0050e110
add esp, 0x34
jmp 0x53f960
cmp dword [esp + 0xb8], 0
je 0x53f8d7
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
add ecx, edx
push ecx
push 8
push ebp
call fcn.0050e130
add esp, 0x10
jmp 0x53f879
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push esi
call fcn.005358f0
push ebp
call fcn.0050e2f0
sub eax, 1
push eax
push ebp
call fcn.0050e4e0
add esp, 0x18
test eax, eax
je 0x53f879
cmp byte [eax], 0x71
jne 0x53f879
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov byte [eax], 0x19
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x53f958
cmp byte [edi + 0x39], 0
je 0x53f942
push ebx
push 0
push 0x71
push ebp
call fcn.0050e130
add esp, 0x10
jmp 0x53f960
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
push eax
push ebx
push ecx
push 0x19
push ebp
call fcn.0050e060
add esp, 0x14
mov dword [esp + 0x64], 1
cmp dword [esp + 0x40], 0
jle 0x53f97b
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0xc]
push ebx
push edx
push 0x2c
push eax
call fcn.0050e130
add esp, 0x10
xor eax, eax
cmp dword [edi + 4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
jle 0x53fa01
add ebx, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x10]
cmp ecx, dword [edi + 0xc]
jne 0x53f9ae
push ebx
push 0
push 0x71
push ebp
call fcn.0050e130
add esp, 0x10
jmp 0x53f9e5
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x53fa3d
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x20]
cmp byte [edx + eax + 0x13], cl
je 0x53fa33
add dword [esp + 0x1c], 1
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + edx + 4]
push ebx
push eax
push esi
call fcn.005358f0
add esp, 0xc
mov eax, dword [esp + 0x10]
add dword [esp + 0x20], 0x14
add eax, 1
add ebx, 1
cmp eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jl 0x53f995
cmp byte [edi + 0x39], 0
je 0x53fae1
push edi
push esi
call fcn.005201e0
mov ecx, dword [edi + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [edi + 4]
push 0xfffffffffffffff6
push ecx
push edx
add eax, 2
push eax
push 1
push 0x77
push ebp
call fcn.005104e0
jmp 0x53fb3f
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x1c]
jmp 0x53fa6d
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x53fa75
mov ecx, dword [ecx]
add ecx, 4
jmp 0x53fa50
mov ebx, dword [esp + 0x10]
cmp dword [ecx], ebx
je 0x53fa62
add eax, 1
add ecx, 8
cmp eax, edx
jl 0x53fa50
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x53f9cf
cmp dword [esp + 0x44], 0
je 0x53f9cf
test ecx, ecx
je 0x53fa8d
cmp eax, dword [ecx + 4]
jge 0x53f9cf
cmp dword [esp + 0x38], 0
push ebx
je 0x53faab
mov ecx, dword [esp + 0x28]
push eax
push ecx
push 3
push ebp
call fcn.0050e060
add esp, 0x14
jmp 0x53f9e5
cmp dword [esp + 0xb8], 0
je 0x53facc
mov edx, dword [esp + 0x64]
add eax, edx
push eax
push 8
push ebp
call fcn.0050e130
add esp, 0x10
jmp 0x53f9e5
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
jmp 0x53f9db
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x2c], eax
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x38]
setge al
push 0
push eax
push ecx
push ebx
push edx
push edi
push esi
call fcn.0053e170
add esp, 0x24
test byte [esp + 0x3c], 2
je 0x53fb20
mov eax, dword [esp + 0x48]
jmp 0x53fb23
or eax, 0xffffffff
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
push ecx
push eax
mov eax, dword [esp + 0x38]
push 0
push 0
push edx
push ebx
push eax
push edi
push esi
call fcn.0053e860
add esp, 0x24
mov ecx, dword [esp + 0x50]
test byte [ecx + 0xc], 0x80
je 0x53fb5e
mov edx, dword [esp + 0x5c]
push 1
push edx
push 0x29
push ebp
call fcn.0050e130
add esp, 0x10
cmp dword [esp + 0x3c], 0
je 0x53fb95
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x48]
push 0
push 0
push eax
push ecx
push 0xffffffffffffffff
push edx
push edi
push 2
push 0
push 0x65
push esi
call fcn.0052d9d0
add esp, 0x2c
test eax, eax
jne 0x53fca7
mov eax, dword [esp + 0x18]
push eax
push ebp
call fcn.0050e1a0
add esp, 8
cmp dword [esp + 0x38], 0
je 0x53fbd7
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
push ecx
push ebx
push 0x67
push ebp
call fcn.0050e130
mov edx, dword [esp + 0x7c]
push edx
push ebp
call fcn.0050e1a0
push 0
push ebx
push 0x20
push ebp
call fcn.0050e130
add esp, 0x28
jmp 0x53fbfb
cmp dword [esp + 0xb4], 0
je 0x53fbfb
push 0
push 0
push 0x18
push ebp
call fcn.0050e130
mov eax, dword [esp + 0x44]
push eax
push ebp
call fcn.0050e1a0
add esp, 0x18
cmp byte [edi + 0x39], 0
jne 0x53fc4e
cmp dword [esp + 0x58], 0
jne 0x53fc4e
mov ecx, dword [esp + 0x30]
push 0
push ecx
push 0x20
push ebp
call fcn.0050e130
mov ebx, dword [edi + 0x10]
add esp, 0x10
test ebx, ebx
je 0x53fc4e
mov edx, dword [esp + 0x30]
add edx, 1
mov dword [esp + 0x34], edx
lea esp, [esp]
mov eax, dword [esp + 0x34]
push 0
push eax
push 0x20
push ebp
call fcn.0050e130
mov ebx, dword [ebx + 0x20]
add dword [esp + 0x44], 1
add esp, 0x10
test ebx, ebx
jne 0x53fc30
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x50]
mov edx, edi
mov eax, esi
call fcn.0053e0d0
mov edx, dword [esp + 0x54]
add esp, 4
test byte [edx + 0xc], 0x80
je 0x53fca7
cmp byte [esi + 0x13], 0
jne 0x53fca7
cmp dword [esi + 0x188], 0
jne 0x53fca7
mov eax, dword [esp + 0x5c]
push 1
push eax
push 0x56
push ebp
call fcn.0050e130
push 1
push ebp
call fcn.0050ed50
push 0xfffffffffffffffe
push str.rows_inserted
push 0
push 0
push ebp
call fcn.0050ee00
add esp, 0x2c
pop edi
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.00522090
mov edx, dword [esp + 0xb0]
push edx
call fcn.00535220
mov eax, dword [esp + 0xb8]
push eax
call fcn.00530300
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.00521fa0
mov edx, dword [esp + 0x60]
push edx
call fcn.0050dc90
add esp, 0x14
pop esi
pop ebp
pop ebx
add esp, 0x94
ret