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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push ebx
xor eax, eax
push esi
xor esi, esi
push edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x38], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov byte [esp + 0x17], 0
mov byte [esp + 0x2a], 0
mov dword [esp + 0x48], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], edx
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
cmp dword [ecx + 0x40], esi
jne 0x48fd43
cmp byte [edx + 0x41], al
jne 0x48fd43
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x48ea99
mov ecx, 0x100
test word [eax + 6], cx
je 0x48ea99
cmp dword [eax + 0x34], esi
jne 0x48ea99
mov ecx, dword [eax]
push 1
push eax
push edx
mov dword [esp + 0x54], ecx
mov dword [eax], esi
call fcn.00496ee0
add esp, 0xc
mov dword [ebp + 0x10], esi
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x10], esi
je 0x48fd43
mov esi, dword [ebp + 8]
mov ecx, edx
call fcn.004873a0
mov ebx, eax
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x48fd43
mov edi, dword [esp + 0x50]
mov esi, dword [ebx + 0x40]
mov ecx, edi
call fcn.004965b0
mov ecx, dword [edi + 0x10]
mov edx, dword [ebx]
mov dword [esp + 0x20], eax
add eax, eax
mov eax, dword [ecx + eax*8]
push eax
mov eax, dword [ebp + 8]
push 0
push edx
push 0x12
call fcn.0047fd60
add esp, 0x10
test eax, eax
jne 0x48fd43
mov al, byte [ebx + 0x2a]
mov esi, dword [ebp + 8]
shr al, 5
and al, 1
mov byte [esp + 0x43], al
lea eax, [esp + 0x24]
push eax
push 0
push 0x6c
mov edx, ebx
mov eax, esi
call fcn.004a1c10
xor ecx, ecx
add esp, 0xc
cmp dword [ebx + 0xc], ecx
mov dword [esp + 0x64], eax
setne cl
mov eax, ebx
mov edi, esi
mov dword [esp + 0x78], ecx
call fcn.00483080
test eax, eax
jne 0x48fd43
mov edx, dword [esp + 0x24]
push edx
mov ecx, ebx
call fcn.00487490
add esp, 4
test eax, eax
jne 0x48fd43
mov eax, esi
call fcn.00499e70
mov edi, eax
mov dword [esp + 0x4c], edi
test edi, edi
je 0x48fd43
cmp byte [esi + 0x12], 0
jne 0x48eb6d
or dword [edi + 0x58], 4
cmp dword [ebp + 0x10], 0
jne 0x48eb7e
cmp dword [esp + 0x64], 0
jne 0x48eb7e
xor eax, eax
jmp 0x48eb83
mov eax, 1
mov ecx, dword [esp + 0x20]
push eax
mov eax, esi
call fcn.00485d20
add esp, 4
cmp dword [ebp + 0x14], 0
jne 0x48ebb6
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x10]
push ecx
push ebx
push esi
call fcn.00491890
add esp, 0x10
test eax, eax
jne 0x48fc9b
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.0048e2e0
mov edx, dword [esp + 0x14]
movsx ebx, word [edx + 0x22]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x48]
lea ecx, [eax + 1]
lea eax, [ebx + eax + 1]
add esp, 4
mov dword [esi + 0x48], eax
test byte [edx + 0x2a], 0x10
mov dword [esp + 0x80], ecx
mov dword [esp + 0x58], ecx
je 0x48ebf8
inc ecx
inc eax
mov dword [esp + 0x58], ecx
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [ebp + 0x14]
inc eax
mov dword [esp + 0x5c], eax
mov al, byte [edx + 0x2a]
shr al, 7
not al
and al, 1
xor ebx, ebx
mov byte [esp + 0x2b], al
cmp ecx, ebx
je 0x48ed11
xor eax, eax
cmp dword [ecx + 4], ebx
jle 0x48ec33
mov edx, dword [ecx]
mov dword [edx + eax*8 + 4], 0xffffffff
inc eax
cmp eax, dword [ecx + 4]
jl 0x48ec23
mov dword [esp + 0x1c], ebx
cmp dword [ecx + 4], ebx
jle 0x48ed11
mov eax, dword [esp + 0x10]
mov edx, ebx
movsx ecx, word [eax + 0x22]
xor esi, esi
mov dword [esp + 0x30], ecx
test ecx, ecx
jle 0x48ecb6
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov ebx, dword [eax + 4]
lea ecx, [ecx + edx*8]
mov edx, dword [ecx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], edx
lea esp, [esp]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.004485d0
add esp, 8
test eax, eax
je 0x48ec90
inc esi
add ebx, 0x18
cmp esi, dword [esp + 0x30]
jl 0x48ec70
jmp 0x48ecb6
mov edx, dword [esp + 0x3c]
mov dword [edx + 4], esi
cmp dword [esp + 0x1c], esi
je 0x48eca2
mov byte [esp + 0x2b], 0
mov eax, dword [esp + 0x10]
movsx ecx, word [eax + 0x20]
cmp esi, ecx
jne 0x48ecb6
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x10]
movsx ecx, word [eax + 0x22]
cmp esi, ecx
jl 0x48ecf7
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
mov eax, dword [esp + 0x1c]
mov esi, dword [edx + eax*8]
call fcn.00478540
test eax, eax
je 0x48eec6
cmp byte [esp + 0x43], 0
jne 0x48eec6
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x14]
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [ecx + 4]
jl 0x48ec46
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
je 0x48eef0
mov ebx, dword [ebp + 8]
inc dword [ebx + 0x48]
mov eax, dword [edi + 0x20]
mov ecx, dword [ebx + 0x48]
inc eax
push eax
push 0
push ecx
push 0x11
mov esi, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], eax
call fcn.00463e10
movzx ecx, byte [esp + 0x3b]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
mov word [esp + 0x94], 0xd
movsx eax, word [edx + 0x22]
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x94]
push ecx
push edx
push ebx
mov dword [esp + 0xac], eax
call fcn.0049e9b0
mov ecx, dword [esp + 0xa8]
add esp, 0x1c
mov dword [esp + 0x6c], ecx
test eax, eax
jne 0x48fd43
mov edx, dword [esp + 0x50]
cmp byte [edx + 0x41], al
jne 0x48fd43
cmp dword [ebx + 0x40], eax
jne 0x48fd43
mov eax, dword [esp + 0x18]
push eax
push 0x12
call fcn.00463ec0
mov eax, dword [esp + 0x44]
add esp, 8
dec eax
mov edx, edi
call fcn.00464430
cmp dword [esp + 0x64], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x30], eax
jne 0x48ee06
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
push ecx
push edx
mov eax, ebx
call fcn.0048e1e0
add esp, 8
test eax, eax
je 0x48ef89
mov edx, dword [ebx + 0x44]
lea eax, [edx + 1]
mov ecx, ebx
mov byte [esp + 0x17], 1
mov dword [esp + 0x38], edx
mov dword [ebx + 0x44], eax
call fcn.0047c370
mov dword [esp + 0x18], eax
call fcn.0047c370
mov ecx, dword [esp + 0x30]
push ecx
push edx
push 0x39
mov esi, edi
mov dword [esp + 0x2c], eax
call fcn.00463f20
mov edx, dword [esp + 0x94]
add esp, 0xc
push edx
push 0x14
call fcn.00463ec0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
push eax
push ecx
push edx
push 0x31
call fcn.00463e10
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push 0x4b
call fcn.00463f20
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x5c]
add esp, 0x24
push edx
push eax
push ecx
push 0x54
call fcn.00463e10
mov edx, dword [esp + 0x2c]
push edx
push 0
push 0xe
call fcn.00463f20
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov edx, edi
call fcn.00464430
mov esi, dword [esp + 0x18]
mov edx, ebx
call fcn.0047c390
mov esi, dword [esp + 0x20]
call fcn.0047c390
jmp 0x48ef89
mov edx, dword [ebx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax*8]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push ecx
push 0
push edx
push str.table__S_has_no_column_named__s
push esi
call fcn.004483c0
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x48fd43
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], esi
mov dword [esp + 0x38], 0xffffffff
cmp eax, ebx
je 0x48ef49
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jmp 0x48ef4d
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ebx
jle 0x48ef89
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x18]
mov edi, dword [edx + eax]
lea esi, [esp + 0x98]
call fcn.004761a0
test eax, eax
jne 0x48fd43
add dword [esp + 0x18], 0x18
inc ebx
cmp ebx, dword [esp + 0x30]
jl 0x48ef57
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
xor edx, edx
cmp dword [ebp + 0x14], edx
jne 0x48efa6
cmp ebx, edx
jle 0x48efa6
mov esi, dword [esp + 0x10]
movsx ecx, word [esi + 0x20]
mov dword [esp + 0x44], ecx
jmp 0x48efaa
mov esi, dword [esp + 0x10]
test byte [esi + 0x2a], 0x10
je 0x48f02b
movsx ecx, word [esi + 0x22]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
cmp ecx, 2
jl 0x48eff7
mov eax, dword [esi + 4]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x2f
inc ecx
lea edx, [ecx + ecx]
movzx esi, byte [eax - 0x18]
shr esi, 1
and esi, 1
add dword [esp + 0x20], esi
movzx esi, byte [eax]
shr esi, 1
and esi, 1
add dword [esp + 0x18], esi
add eax, 0x30
dec ecx
jne 0x48efd0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
movsx eax, word [esi + 0x22]
cmp edx, eax
jge 0x48f01b
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x20]
lea edx, [edx + edx*2]
movzx eax, byte [eax + edx*8 + 0x17]
shr eax, 1
and eax, 1
add eax, ecx
jmp 0x48f02d
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
add eax, ecx
jmp 0x48f02d
mov eax, edx
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x48f060
test ebx, ebx
je 0x48f07f
movsx ecx, word [esi + 0x22]
sub ecx, eax
cmp ebx, ecx
je 0x48f07f
mov eax, dword [ebp + 0xc]
push ebx
push ecx
mov ecx, dword [ebp + 8]
push 0
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ecx
call fcn.004483c0
add esp, 0x18
jmp 0x48fd43
mov eax, dword [ecx + 4]
cmp ebx, eax
je 0x48f07f
mov edx, dword [ebp + 8]
push eax
push ebx
push str._d_values_for__d_columns
push edx
call fcn.004483c0
add esp, 0x10
jmp 0x48fd43
mov eax, dword [esp + 0x50]
test byte [eax + 0x18], 0x80
je 0x48f0a8
mov eax, dword [ebp + 8]
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0x17
mov esi, edi
mov dword [esp + 0x88], eax
call fcn.00463f20
add esp, 0xc
cmp dword [esp + 0x78], 0
jne 0x48f112
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x58]
push edx
push 0
push 0xffffffffffffffff
push 0x37
push eax
push ecx
call fcn.00491570
mov esi, dword [esp + 0x6c]
add esp, 0x1c
mov ebx, eax
lea edx, [ebx*4 + 4]
push 0
push edx
call fcn.00445af0
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
je 0x48fd43
xor eax, eax
test ebx, ebx
jle 0x48f112
mov ecx, dword [ebp + 8]
lea ecx, [ecx]
inc dword [ecx + 0x48]
mov edx, dword [ecx + 0x48]
mov esi, dword [esp + 0x60]
mov dword [esi + eax*4], edx
inc eax
cmp eax, ebx
jl 0x48f100
cmp byte [esp + 0x17], 0
je 0x48f130
mov eax, dword [esp + 0x38]
push eax
push 0x6d
mov esi, edi
call fcn.00463ec0
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x7c], ecx
jmp 0x48f14b
cmp dword [ebp + 0x10], 0
je 0x48f152
mov edx, dword [esp + 0x88]
push edx
push 0x14
mov esi, edi
call fcn.00463ec0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
add esp, 8
mov eax, dword [edi + 0x18]
mov ebx, dword [eax + 0x6c]
lea edx, [ebx - 1]
lea ecx, [ebx + 1]
mov dword [esp + 0x18], eax
mov dword [eax + 0x6c], ecx
test ebx, edx
jne 0x48f18d
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
lea eax, [ebx*8 + 4]
push 0
push eax
mov eax, dword [ecx + 0x70]
call fcn.00445c60
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x70], eax
add esp, 8
mov eax, ecx
mov eax, dword [eax + 0x70]
test eax, eax
je 0x48f19b
mov dword [eax + ebx*4], 0xffffffff
or eax, 0xffffffff
sub eax, ebx
test byte [esp + 0x24], 1
mov dword [esp + 0x18], eax
je 0x48f4ac
mov edx, dword [esp + 0x10]
movsx eax, word [edx + 0x22]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
inc eax
mov dword [esp + 0x2c], ebx
cmp eax, edx
jg 0x48f1d6
lea esi, [eax + ebx]
sub edx, eax
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x38], edx
jmp 0x48f1e5
mov edx, dword [ecx + 0x48]
lea ebx, [edx + 1]
add edx, eax
mov dword [esp + 0x2c], ebx
mov dword [ecx + 0x48], edx
mov eax, dword [esp + 0x44]
push ebx
test eax, eax
jns 0x48f1fe
push 0xffffffffffffffff
push 0x17
mov esi, edi
call fcn.00463f20
add esp, 0xc
jmp 0x48f27d
cmp byte [esp + 0x1b], 0
je 0x48f21d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push 0x2f
mov esi, edi
call fcn.00463e10
add esp, 0x10
jmp 0x48f234
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx*8]
push edx
push ecx
call fcn.0047b050
add esp, 0xc
push ebx
push 0x4d
mov esi, edi
call fcn.00463ec0
push ebx
push 0xffffffffffffffff
push 0x17
mov dword [esp + 0x38], eax
call fcn.00463f20
mov eax, dword [edi + 0x20]
add esp, 0x14
cmp eax, dword [esp + 0x24]
jbe 0x48f266
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
push ebx
push 0x26
mov esi, edi
mov dword [ecx + 0x58], eax
call fcn.00463ec0
add esp, 8
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x1c], 0
cmp dx, word [eax + 0x22]
jge 0x48f43e
mov dword [esp + 0x20], edx
lea esp, [esp]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x48f2af
mov esi, edx
jmp 0x48f2cf
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x48f2cf
mov eax, dword [eax]
add eax, 4
lea ecx, [ecx]
cmp dword [eax], edx
je 0x48f2cc
inc esi
add eax, 8
cmp esi, ecx
jl 0x48f2c0
mov eax, dword [ebp + 0x14]
mov cl, byte [esp + 0x17]
test cl, cl
jne 0x48f2de
cmp dword [esp + 0x48], 0
je 0x48f2ef
test eax, eax
je 0x48f39f
cmp esi, dword [eax + 4]
jl 0x48f39f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea esi, [ebx + edx + 1]
mov edx, dword [ecx + 4]
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x24], esi
test eax, eax
je 0x48f368
cmp byte [eax], 0x9f
jne 0x48f368
mov edx, dword [ebp + 8]
mov esi, dword [edx + 8]
mov ecx, dword [eax + 0x1c]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x3c], ecx
cmp dword [eax + 0x54], ebx
jg 0x48f338
push esi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48f41c
mov edx, dword [esi + 4]
inc dword [esi + 0x20]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x1f
jmp 0x48f41c
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00479fb0
add esp, 0xc
cmp eax, esi
je 0x48f420
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x48f420
push esi
push eax
push 0x20
mov esi, ecx
call fcn.00463f20
add esp, 0xc
jmp 0x48f420
test cl, cl
je 0x48f3f6
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x3c], eax
cmp dword [ecx + 0x54], eax
jg 0x48f3c7
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48f420
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x38]
lea edx, [ebx + edx + 1]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x2f
jmp 0x48f420
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + ecx + 1]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 8]
lea eax, [esi + esi*2]
mov ebx, dword [edx + eax*8]
push ecx
call fcn.0047b170
add esp, 8
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movsx ecx, word [edx + 0x22]
add dword [esp + 0x20], 0x18
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x48f2a0
cmp dword [esp + 0x78], 0
jne 0x48f45d
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
inc edx
push edx
mov ebx, edi
call fcn.0048e120
mov ebx, dword [esp + 0x30]
add esp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
movsx edx, word [esi + 0x22]
mov ecx, dword [ebp + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x6c]
mov eax, ebx
sub eax, edx
mov edx, dword [ebp + 8]
dec eax
push eax
push esi
push 1
push 0
push 0x6c
push ecx
push edx
call fcn.004a2520
movsx esi, word [esi + 0x22]
mov eax, dword [ebp + 8]
inc esi
add esp, 0x24
mov ecx, esi
mov edi, ebx
call fcn.00479a80
mov edi, dword [esp + 0x4c]
cmp esi, dword [eax + 0x38]
jle 0x48f4ac
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], ebx
cmp dword [esp + 0x78], 0
jne 0x48fa20
mov eax, dword [esp + 0x10]
test byte [eax + 0x2a], 0x10
je 0x48f4d7
mov ecx, dword [esp + 0x80]
push ecx
push 0
push 0x1a
mov esi, edi
call fcn.00463f20
add esp, 0xc
cmp dword [esp + 0x44], 0
jl 0x48f619
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x58]
push ebx
je 0x48f568
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
push edx
push eax
push 0x2f
mov esi, edi
call fcn.00463e10
add esp, 0x10
mov esi, dword [esp + 0x10]
test byte [esi + 0x2a], 0x10
jne 0x48f5f8
push ebx
push 0x4d
mov esi, edi
call fcn.00463ec0
mov edx, dword [esp + 0x3c]
push edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
push ebx
push eax
push 0x4b
call fcn.00463e10
mov eax, dword [edi + 0x20]
add esp, 0x18
cmp eax, dword [esp + 0x24]
jbe 0x48f54c
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
push ebx
push 0x26
mov esi, edi
mov dword [ecx + 0x58], eax
call fcn.00463ec0
add esp, 8
jmp 0x48f65f
cmp dword [ebp + 0x10], 0
je 0x48f588
mov ecx, dword [esp + 0x70]
add ecx, dword [esp + 0x48]
mov esi, edi
push ecx
push 0x1f
call fcn.00463f20
add esp, 0xc
jmp 0x48f504
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
push eax
push ecx
call fcn.0047b050
mov edx, dword [edi]
mov eax, dword [edi + 0x20]
add esp, 0xc
cmp byte [edx + 0x41], 0
je 0x48f5b8
mov eax, 0x6cdc24
jmp 0x48f5ca
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4 - 5]
lea eax, [ecx + eax*4]
test eax, eax
je 0x48f504
cmp byte [eax], 0x1a
jne 0x48f504
mov esi, dword [esp + 0x10]
test byte [esi + 0x2a], 0x10
jne 0x48f5f8
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x2a], 1
mov byte [eax], 0x4b
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
jmp 0x48f663
mov edx, dword [edi + 0x20]
add edx, 2
push edx
push ebx
push 0x4c
mov esi, edi
call fcn.00463f20
add esp, 0xc
push ebx
push 0x26
call fcn.00463ec0
add esp, 8
jmp 0x48f65f
mov eax, dword [esp + 0x10]
test byte [eax + 0x2a], 0x10
jne 0x48f64c
cmp byte [esp + 0x43], 0
jne 0x48f64c
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push ecx
push ebx
push edx
push 0x4b
mov esi, edi
call fcn.00463e10
add esp, 0x10
mov byte [esp + 0x2a], 1
jmp 0x48f65f
mov ebx, dword [esp + 0x58]
push ebx
push 0
push 0x1a
mov esi, edi
call fcn.00463f20
add esp, 0xc
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x34], 0
jle 0x48f6bf
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
cmp dword [edx + 0x54], ecx
jg 0x48f698
push eax
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48f6bf
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
inc dword [eax + 0x20]
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x89
xor eax, eax
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], eax
cmp dx, word [esi + 0x22]
jge 0x48f793
mov dword [esp + 0x20], eax
lea esp, [esp]
mov edx, dword [esp + 0x1c]
movsx ecx, word [esi + 0x20]
mov eax, dword [esp + 0x5c]
add eax, edx
xor ebx, ebx
mov dword [esp + 0x34], eax
cmp edx, ecx
jne 0x48f737
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x48f710
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48f775
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x1b
jmp 0x48f775
cmp dword [ebp + 0x14], ebx
jne 0x48f806
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x20]
test byte [eax + ecx + 0x17], 2
je 0x48f7fe
inc dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x20]
mov edi, dword [eax + ecx + 4]
mov ebx, dword [esp + 0x34]
mov eax, dword [ebp + 8]
call fcn.0047b0b0
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
movsx edx, word [esi + 0x22]
add dword [esp + 0x20], 0x18
inc eax
mov dword [esp + 0x1c], eax
cmp eax, edx
jl 0x48f6e0
test byte [esi + 0x2a], 0x10
je 0x48f99d
mov eax, dword [esi + 0x38]
mov dword [esp + 0x4c], eax
test eax, eax
je 0x48f7bf
mov ecx, dword [esp + 0x50]
lea esp, [esp]
cmp dword [eax], ecx
je 0x48f7bb
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x48f7b0
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 8]
push esi
call fcn.004a6680
movsx ebx, word [esi + 0x22]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
add esp, 4
add ebx, 2
cmp dword [eax + 0x54], esi
jg 0x48f8ee
push edi
call fcn.00463d80
add esp, 4
test eax, eax
je 0x48f8ee
mov eax, 1
xor ebx, ebx
jmp 0x48f91f
mov esi, edx
sub esi, dword [esp + 0x2c]
jmp 0x48f823
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x48f82b
mov eax, dword [eax]
add eax, 4
cmp dword [eax], edx
je 0x48f823
inc esi
add eax, 8
cmp esi, ecx
jl 0x48f817
test esi, esi
js 0x48f756
cmp dword [esp + 0x30], 0
je 0x48f756
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x48f846
cmp esi, dword [eax + 4]
jge 0x48f756
cmp byte [esp + 0x17], 0
je 0x48f89b
mov ebx, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], ebx
jg 0x48f869
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48f775
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x38]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x2f
jmp 0x48f775
cmp dword [ebp + 0x10], 0
je 0x48f8ca
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0x6c], edx
je 0x48f775
mov eax, dword [esp + 0x34]
add esi, dword [esp + 0x6c]
push eax
push esi
push 0x20
mov esi, edi
call fcn.00463f20
add esp, 0xc
jmp 0x48f775
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 8]
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*8]
push eax
push ecx
call fcn.0047b050
add esp, 0xc
jmp 0x48f775
mov eax, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ebx
xor ebx, ebx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov word [eax], 0xd
mov eax, esi
mov esi, dword [edi + 4]
mov edx, dword [edi]
cmp esi, ebx
je 0x48f967
cmp byte [edx + 0x41], 0
jne 0x48f967
cmp eax, ebx
jge 0x48f936
mov eax, dword [edi + 0x20]
dec eax
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
call fcn.00464450
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x48f95d
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0
jmp 0x48f967
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
inc dword [eax + 0xc]
mov edx, dword [ebp + 0x18]
cmp edx, 0xa
jne 0x48f974
mov edx, 2
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x48f985
mov eax, dword [edi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x198]
cmp eax, ebx
jne 0x48f994
mov eax, ecx
mov byte [eax + 0x15], 1
jmp 0x48fa20
cmp dword [esp + 0x44], 0
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x18]
mov ebx, dword [esp + 0x80]
lea ecx, [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x74]
setge cl
movzx edx, cl
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push 0
push ebx
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push esi
push eax
call fcn.0048fe40
mov ecx, dword [ebp + 8]
add esp, 0x2c
push 0
push 0
push ebx
push 0
push esi
push ecx
call fcn.0048c9c0
movzx eax, byte [esp + 0x42]
mov ecx, dword [esp + 0x78]
xor edx, edx
cmp dword [esp + 0x54], edx
sete dl
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x74]
push 0
push ecx
mov ecx, dword [ebp + 8]
push ebx
push edx
push eax
push esi
push ecx
call fcn.00491270
add esp, 0x3c
mov edx, dword [esp + 0x50]
test byte [edx + 0x18], 0x80
mov esi, dword [esp + 0x5c]
je 0x48fa72
mov ebx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], ebx
jg 0x48fa46
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fa72
mov eax, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x25
xor ebx, ebx
cmp dword [esp + 0x64], ebx
je 0x48faa8
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x18]
push eax
mov eax, dword [esp + 0x14]
movsx edx, word [eax + 0x22]
push ecx
mov ecx, dword [ebp + 8]
sub esi, edx
sub esi, 2
push esi
push eax
mov eax, dword [esp + 0x74]
push 2
push ebx
push 0x6c
push eax
push ecx
call fcn.004a2520
add esp, 0x24
mov ecx, dword [edi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x18]
js 0x48fac1
mov edx, dword [ecx + 0x70]
cmp edx, ebx
je 0x48fac1
mov esi, dword [edi + 0x20]
mov dword [edx + eax*4], esi
mov edx, dword [edi + 0x20]
dec edx
mov dword [ecx + 0x58], edx
cmp byte [esp + 0x17], bl
je 0x48fb73
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x48faea
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fb12
mov edx, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
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 word [eax], 8
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
jbe 0x48fb27
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x48fb4d
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fbd3
mov ecx, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x38]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
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 word [eax], 0x3d
jmp 0x48fbd3
cmp dword [ebp + 0x10], ebx
je 0x48fbd3
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x48fb90
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fbb4
mov edx, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x74]
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 word [eax], 0xe
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
jbe 0x48fbc9
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
dec edx
mov dword [eax + 0x58], edx
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x2a], 0x10
jne 0x48fc98
cmp dword [esp + 0x78], ebx
jne 0x48fc98
mov edx, dword [esp + 0x68]
cmp dword [esp + 0x54], edx
jge 0x48fc35
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x48fc0d
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fc35
mov edx, dword [edi + 4]
inc dword [edi + 0x20]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x54]
xor ecx, ecx
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 word [eax], 0x3d
jmp 0x48fc37
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
cmp eax, ecx
je 0x48fc98
mov ebx, dword [esp + 0x68]
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x48fc62
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fc86
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
xor ecx, ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
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 word [eax], 0x3d
jmp 0x48fc88
xor ecx, ecx
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x14]
inc ebx
mov dword [esp + 0x24], eax
cmp eax, ecx
jne 0x48fc4a
mov esi, dword [ebp + 8]
cmp byte [esi + 0x12], 0
jne 0x48fcb3
cmp dword [esi + 0x19c], 0
jne 0x48fcb3
push esi
call fcn.0048e7a0
add esp, 4
mov eax, dword [esp + 0x50]
test byte [eax + 0x18], 0x80
je 0x48fd43
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x12], 0
jne 0x48fd43
mov edx, ecx
cmp dword [edx + 0x19c], 0
jne 0x48fd43
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x48fced
push edi
call fcn.00463d80
add esp, 4
test eax, eax
jne 0x48fd19
mov eax, dword [edi + 4]
mov ecx, 1
add dword [edi + 0x20], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x21
push 1
push edi
call fcn.00465750
mov eax, dword [edi]
add esp, 8
cmp byte [eax + 0x41], 0
jne 0x48fd43
mov ecx, dword [edi + 0x10]
push 0
push 1
push str.rows_inserted
or eax, 0xffffffff
call fcn.004632b0
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x50]
push ecx
mov eax, esi
call fcn.00485530
mov edx, dword [esp + 0x4c]
add esp, 4
push edx
push esi
call fcn.00477f90
mov eax, dword [ebp + 0x10]
push 1
push eax
push esi
call fcn.00496ee0
mov edi, dword [ebp + 0x14]
add esp, 0x14
call fcn.00485160
mov edi, dword [esp + 0x60]
test edi, edi
je 0x48fe2b
test esi, esi
je 0x48fdcb
cmp dword [esi + 0x208], 0
je 0x48fda0
mov eax, edi
mov ecx, esi
call fcn.00445830
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, dword [esi + 0x114]
jb 0x48fdcb
cmp edi, dword [esi + 0x118]
jae 0x48fdcb
mov ecx, dword [esi + 0x110]
mov dword [edi], ecx
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x6c5330], 0
je 0x48fe21
mov eax, dword [0x6ce8d8]
test eax, eax
je 0x48fde7
push eax
call dword [0x6c5384]
add esp, 4
push edi
call dword [0x6c5360]
sub dword [0x6ce728], eax
dec dword [0x6ce74c]
add esp, 4
push edi
call dword [0x6c5358]
mov eax, dword [0x6ce8d8]
add esp, 4
test eax, eax
je 0x48fe2b
push eax
call dword [0x6c538c]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [0x6c5358]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret