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

Disassembly:
sub esp, 0xa4
xor eax, eax
mov dword [esp + 0x34], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0xb4]
or ecx, 0xffffffff
push edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], eax
mov ebp, dword [esi]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x13], al
mov byte [esp + 0x23], al
mov dword [esp + 0x34], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], ebp
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
cmp dword [esi + 0x40], eax
jne 0x4907b7
cmp byte [ebp + 0x41], al
jne 0x4907b7
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x28], eax
test eax, eax
je 0x48f6c9
mov ecx, 0x100
test word [eax + 6], cx
je 0x48f6c9
cmp dword [eax + 0x34], 0
jne 0x48f6c9
mov ecx, dword [eax]
push 1
push eax
push ebp
mov dword [esp + 0x40], ecx
mov dword [eax], 0
call fcn.004485b0
add esp, 0xc
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0xbc]
cmp dword [eax + 0x10], 0
je 0x4907c2
push eax
push esi
call fcn.0049eda0
mov edi, eax
add esp, 8
mov dword [esp + 0x14], edi
test edi, edi
je 0x4907c2
push dword [edi + 0x40]
push ebp
call fcn.0049b750
mov ebx, eax
mov eax, dword [ebp + 0x10]
mov ecx, ebx
mov dword [esp + 0x40], ebx
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [edi]
push 0x12
push esi
call fcn.00477e30
add esp, 0x1c
test eax, eax
jne 0x4907c2
mov al, byte [edi + 0x2a]
shr al, 5
and al, 1
mov byte [esp + 0x2f], al
lea eax, [esp + 0x4c]
push eax
push 0
push 0x6c
push edi
push esi
call fcn.0049ff90
mov dword [esp + 0x88], eax
xor eax, eax
cmp dword [edi + 0xc], eax
push edi
setne al
push esi
mov dword [esp + 0x94], eax
call fcn.004adc50
add esp, 0x1c
test eax, eax
jne 0x4907c2
push dword [esp + 0x4c]
push edi
push esi
call fcn.00490a50
add esp, 0xc
test eax, eax
jne 0x4907c2
push esi
call fcn.0048e680
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4907c2
cmp byte [esi + 0x12], 0
jne 0x48f799
or dword [ebp + 0x58], 4
cmp dword [esp + 0x28], 0
jne 0x48f7ab
cmp dword [esp + 0x74], 0
jne 0x48f7ab
xor eax, eax
jmp 0x48f7b0
mov eax, 1
push ebx
push eax
push esi
call fcn.00478e50
add esp, 0xc
cmp dword [esp + 0xc4], 0
jne 0x48f7e3
push ebx
push dword [esp + 0xcc]
push dword [esp + 0x30]
push edi
push esi
call fcn.004c1b00
add esp, 0x14
test eax, eax
jne 0x490749
push edi
push ebx
push esi
call fcn.00443c40
mov ecx, dword [esi + 0x48]
add esp, 0xc
mov dword [esp + 0x6c], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x54], eax
movsx eax, word [edi + 0x22]
inc eax
mov dword [esp + 0x1c], edx
add eax, ecx
mov dword [esi + 0x48], eax
test byte [edi + 0x2a], 0x10
je 0x48f81b
inc edx
inc eax
mov dword [esp + 0x1c], edx
mov dword [esi + 0x48], eax
mov cl, byte [edi + 0x2a]
lea eax, [edx + 1]
mov edx, dword [esp + 0xc4]
shr cl, 7
not cl
mov dword [esp + 0x5c], eax
and cl, 1
mov byte [esp + 0x1b], cl
test edx, edx
je 0x48f930
xor ecx, ecx
cmp dword [edx + 4], ecx
jle 0x48f860
jmp 0x48f850
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
cmp ecx, dword [edx + 4]
jl 0x48f850
xor ebx, ebx
cmp dword [edx + 4], ebx
jle 0x48f92c
jmp 0x48f870
mov ecx, dword [esp + 0x14]
xor edi, edi
movsx eax, word [ecx + 0x22]
test eax, eax
jle 0x48f8df
mov eax, dword [edx]
mov esi, dword [ecx + 4]
lea eax, [eax + ebx*8]
mov dword [esp + 0x3c], eax
lea ebx, [ebx]
push dword [esi]
push dword [eax]
call fcn.0043ae40
add esp, 8
test eax, eax
je 0x48f8b6
mov ecx, dword [esp + 0x14]
inc edi
add esi, 0x18
movsx eax, word [ecx + 0x22]
cmp edi, eax
mov eax, dword [esp + 0x3c]
jl 0x48f890
jmp 0x48f8d8
mov eax, dword [esp + 0x3c]
cmp ebx, edi
mov dword [eax + 4], edi
setne al
dec al
and byte [esp + 0x1b], al
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x20]
cmp edi, eax
jne 0x48f8d8
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x22]
cmp edi, eax
jl 0x48f91b
mov eax, dword [edx]
push dword [eax + ebx*8]
call fcn.00490ae0
add esp, 4
test eax, eax
je 0x48fb61
cmp byte [esp + 0x2f], 0
jne 0x48fb61
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x50], ebx
mov byte [esp + 0x1b], 0
inc ebx
cmp ebx, dword [edx + 4]
jl 0x48f870
mov esi, dword [esp + 0xb8]
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x28], 0
je 0x48fb94
inc dword [esi + 0x48]
mov edi, dword [esi + 0x48]
mov esi, dword [ebp + 0x20]
inc esi
push esi
push 0
push edi
push 0x11
push ebp
call fcn.004a3e30
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0xcc]
neg eax
mov dword [esp + 0xa0], 0
sbb eax, eax
mov word [esp + 0x94], 0xd
and eax, dword [esp + 0x70]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], edi
movsx eax, word [eax + 0x22]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x94]
push eax
push dword [esp + 0x40]
push ecx
call fcn.0049b9b0
mov ecx, dword [esp + 0xa8]
add esp, 0x20
mov dword [esp + 0x64], ecx
test eax, eax
jne 0x4907c2
mov eax, dword [esp + 0x48]
cmp byte [eax + 0x41], 0
jne 0x4907c2
mov eax, dword [esp + 0xb8]
cmp dword [eax + 0x40], 0
jne 0x4907c2
push edi
push 0x12
push ebp
call fcn.004a3d50
lea eax, [esi - 1]
push eax
push ebp
call fcn.004aac70
mov eax, dword [esp + 0x3c]
add esp, 0x14
cmp dword [esp + 0x74], 0
mov esi, dword [esp + 0xb8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jne 0x48fa25
mov edi, dword [esp + 0x14]
push edi
push ebx
push esi
call fcn.00470b40
add esp, 0xc
test eax, eax
je 0x48fac5
mov edx, dword [esi + 0x44]
push esi
mov byte [esp + 0x17], 1
mov dword [esp + 0x28], edx
lea eax, [edx + 1]
mov dword [esi + 0x44], eax
call fcn.0048dd40
push esi
mov edi, eax
call fcn.0048dd40
push dword [esp + 0x38]
mov ebx, eax
push edx
push 0x39
push ebp
call fcn.004a3dc0
push dword [esp + 0x9c]
push 0x14
push ebp
call fcn.004a3d50
push edi
push dword [esp + 0x58]
mov esi, eax
push dword [esp + 0x90]
push 0x31
push ebp
call fcn.004a3e30
push ebx
push dword [esp + 0x60]
push 0x4b
push ebp
call fcn.004a3dc0
add esp, 0x48
push ebx
push edi
push dword [esp + 0x2c]
push 0x54
push ebp
call fcn.004a3e30
push esi
push 0
push 0xe
push ebp
call fcn.004a3dc0
push esi
push ebp
call fcn.004aac70
mov esi, dword [esp + 0xe4]
push edi
push esi
call fcn.00499c70
push ebx
push esi
call fcn.00499c70
mov edi, dword [esp + 0x50]
add esp, 0x3c
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x48fae0
test ebx, ebx
jle 0x48fae0
movsx ecx, word [edi + 0x20]
mov dword [esp + 0x50], ecx
test byte [edi + 0x2a], 0x10
je 0x48fc47
mov edx, dword [esp + 0x14]
xor esi, esi
xor edi, edi
xor ebx, ebx
movsx eax, word [edx + 0x22]
mov dword [esp + 0x3c], eax
cmp eax, 2
jl 0x48fb34
mov ecx, dword [edx + 4]
lea edx, [eax - 2]
shr edx, 1
add ecx, 0x2f
inc edx
lea ebx, [edx + edx]
movzx eax, byte [ecx - 0x18]
lea ecx, [ecx + 0x30]
shr eax, 1
and eax, 1
add esi, eax
movzx eax, byte [ecx - 0x30]
shr eax, 1
and eax, 1
add edi, eax
dec edx
jne 0x48fb10
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
cmp ebx, eax
jge 0x48fc33
mov eax, dword [edx + 4]
lea ecx, [ebx + ebx*2]
movzx ecx, byte [eax + ecx*8 + 0x17]
lea eax, [edi + esi]
mov edi, dword [esp + 0x14]
shr ecx, 1
and ecx, 1
add ecx, eax
mov eax, dword [esp + 0xc4]
jmp 0x48fc49
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
push dword [eax + ebx*8]
mov ebx, dword [esp + 0xbc]
push 0
push dword [esp + 0xc4]
push str.table__S_has_no_column_named__s
push ebx
call fcn.00481160
add esp, 0x14
mov byte [ebx + 0x11], 1
jmp 0x4907c2
xor eax, eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x94], 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 eax, dword [esp + 0x34]
mov dword [esp + 0x94], esi
test eax, eax
je 0x48fbe9
mov ebx, dword [eax]
jmp 0x48fbeb
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x30], ebx
test ebx, ebx
jle 0x48fc2a
xor esi, esi
jmp 0x48fc00
mov eax, dword [eax + 4]
push dword [eax + esi]
lea eax, [esp + 0x98]
push eax
call fcn.00499e00
add esp, 8
test eax, eax
jne 0x4907c2
mov eax, dword [esp + 0x34]
inc edi
add esi, 0x18
cmp edi, ebx
jl 0x48fc00
mov edi, dword [esp + 0x14]
jmp 0x48fac9
lea eax, [edi + esi]
xor ecx, ecx
mov edi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0xc4]
jmp 0x48fc49
xor ecx, ecx
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x48fc83
test edx, edx
je 0x48fca5
movsx eax, word [edi + 0x22]
sub eax, ecx
cmp edx, eax
je 0x48fca5
push edx
push eax
push 0
push dword [esp + 0xc8]
push str.table__S_has__d_columns_but__d_values_were_supplied
push dword [esp + 0xcc]
call fcn.00481160
add esp, 0x18
jmp 0x4907c2
mov eax, dword [eax + 4]
cmp edx, eax
je 0x48fca5
push eax
push edx
push str._d_values_for__d_columns
push dword [esp + 0xc4]
call fcn.00481160
add esp, 0x10
jmp 0x4907c2
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0xb8]
test byte [eax + 0x18], 0x80
je 0x48fcd1
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
push eax
push 0
push 0x17
push ebp
mov dword [esp + 0x8c], eax
call fcn.004a3dc0
add esp, 0x10
cmp dword [esp + 0x78], 0
jne 0x48fd36
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x48]
push eax
push 0
push 0xffffffffffffffff
push 0x37
push edi
push ebx
call fcn.00492b80
mov esi, eax
push 0
lea eax, [esi*4 + 4]
push eax
push dword [esp + 0x6c]
call fcn.0047f320
mov edx, eax
add esp, 0x28
mov dword [esp + 0x60], edx
test edx, edx
je 0x4907c2
xor ecx, ecx
test esi, esi
jle 0x48fd2e
jmp 0x48fd20
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, esi
jl 0x48fd20
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
cmp byte [esp + 0x13], 0
je 0x48fd5a
mov esi, dword [esp + 0x24]
push esi
push 0x6d
push ebp
call fcn.004a3d50
mov dword [esp + 0x7c], eax
add esp, 0xc
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x68], eax
jmp 0x48fd7f
cmp dword [esp + 0x28], 0
je 0x48fd7b
push dword [esp + 0x84]
push 0x14
push ebp
call fcn.004a3d50
add esp, 0xc
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x24]
push ebp
call fcn.004ab090
add esp, 4
mov dword [esp + 0x38], eax
test byte [esp + 0x4c], 1
je 0x48ff6b
movsx ecx, word [edi + 0x22]
mov edx, dword [ebx + 0x38]
inc ecx
mov edi, dword [ebx + 0x3c]
mov dword [esp + 0x3c], edi
cmp ecx, edx
jg 0x48fdb7
lea eax, [ecx + edi]
sub edx, ecx
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x38], edx
jmp 0x48fdc6
mov eax, dword [ebx + 0x48]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x3c], edi
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x50]
push edi
test eax, eax
jns 0x48fdde
push 0xffffffffffffffff
push 0x17
push ebp
call fcn.004a3dc0
add esp, 0x10
jmp 0x48fe4a
cmp byte [esp + 0x17], 0
je 0x48fdf4
push eax
push esi
push 0x2f
push ebp
call fcn.004a3e30
add esp, 0x14
jmp 0x48fe0a
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push ebx
call fcn.00481ed0
add esp, 0xc
push edi
push 0x4d
push ebp
call fcn.004a3d50
push edi
push 0xffffffffffffffff
push 0x17
push ebp
mov esi, eax
call fcn.004a3dc0
mov edx, dword [ebp + 0x20]
add esp, 0x1c
cmp edx, esi
jbe 0x48fe34
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
dec ecx
push edi
push 0x26
push ebp
mov dword [eax + 0x58], ecx
call fcn.004a3d50
add esp, 0xc
mov edx, dword [esp + 0x14]
xor eax, eax
xor ebx, ebx
cmp ax, word [edx + 0x22]
jge 0x48ff07
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x48fe71
mov esi, ebx
jmp 0x48fe97
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x48fe93
mov eax, dword [eax]
add eax, 4
nop
cmp dword [eax], ebx
je 0x48fe8c
inc esi
add eax, 8
cmp esi, ecx
jl 0x48fe80
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x40]
cmp byte [esp + 0x13], 0
jne 0x48fea5
cmp dword [esp + 0x34], 0
je 0x48feb6
test eax, eax
je 0x49004d
cmp esi, dword [eax + 4]
jl 0x49004d
mov eax, dword [edx + 4]
lea esi, [ebx + 1]
add esi, edi
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x490018
cmp byte [eax], 0x9f
jne 0x490018
push esi
push dword [eax + 0x1c]
mov eax, dword [esp + 0xc0]
push 0x1f
push dword [eax + 8]
call fcn.004a3dc0
add esp, 0x10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
inc ebx
movsx eax, word [edx + 0x22]
add ecx, 0x18
mov dword [esp + 0x40], ecx
cmp ebx, eax
jl 0x48fe62
cmp dword [esp + 0x78], 0
jne 0x48ff1c
lea eax, [edi + 1]
push eax
push edx
push ebp
call fcn.0049f790
add esp, 0xc
push dword [esp + 0x38]
mov esi, dword [esp + 0x18]
mov ecx, edi
push dword [esp + 0xcc]
mov ebx, dword [esp + 0xc0]
movsx eax, word [esi + 0x22]
sub ecx, eax
dec ecx
push ecx
push esi
push 1
push 0
push 0x6c
push dword [esp + 0x90]
push ebx
call fcn.0047d190
movsx esi, word [esi + 0x22]
inc esi
push esi
push edi
push ebx
call fcn.00481c50
add esp, 0x30
cmp esi, dword [ebx + 0x38]
jle 0x48ff6b
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], edi
cmp dword [esp + 0x78], 0
jne 0x490481
mov esi, dword [esp + 0x14]
test byte [esi + 0x2a], 0x10
je 0x48ff91
push dword [esp + 0x54]
push 0
push 0x1a
push ebp
call fcn.004a3dc0
add esp, 0x10
mov eax, dword [esp + 0x50]
test eax, eax
js 0x49017c
cmp byte [esp + 0x13], 0
mov edi, dword [esp + 0x1c]
push edi
je 0x4900da
push eax
push dword [esp + 0x2c]
push 0x2f
push ebp
call fcn.004a3e30
add esp, 0x14
test byte [esi + 0x2a], 0x10
jne 0x49015b
push edi
push 0x4d
push ebp
call fcn.004a3d50
mov ecx, dword [esp + 0x78]
mov esi, eax
push ecx
mov ecx, dword [esp + 0x54]
push edi
push ecx
push 0x4b
push ebp
call fcn.004a3e30
mov edx, dword [ebp + 0x20]
add esp, 0x20
cmp edx, esi
jbe 0x48fff9
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
dec ecx
mov esi, dword [esp + 0x14]
push edi
push 0x26
push ebp
mov dword [eax + 0x58], ecx
call fcn.004a3d50
add esp, 0xc
jmp 0x4901bc
push esi
push eax
push dword [esp + 0xc0]
call fcn.00482af0
add esp, 0xc
cmp eax, esi
je 0x48feeb
mov ecx, dword [esp + 0xb8]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x48feeb
push esi
push eax
push 0x20
push ecx
jmp 0x48fee3
cmp byte [esp + 0x13], 0
je 0x4900aa
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
cmp dword [eax + 0x54], edi
jg 0x490072
push 1
push ebp
call fcn.004650f0
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x4900d1
mov eax, dword [ebp + 4]
lea ecx, [edi + edi*4]
inc dword [ebp + 0x20]
mov edi, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x2f
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x24]
mov byte [ecx + 3], 0
mov dword [ecx + 4], eax
lea eax, [edi + 1]
add eax, ebx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
jmp 0x48feef
lea eax, [ebx + 1]
add eax, edi
lea ecx, [esi + esi*2]
push eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [esp + 0xc0]
call fcn.00481f30
add esp, 0xc
jmp 0x48feeb
mov edi, dword [esp + 0x3c]
jmp 0x48feef
cmp dword [esp + 0x2c], 0
je 0x4900f6
add eax, dword [esp + 0x68]
push eax
push 0x1f
push ebp
call fcn.004a3dc0
add esp, 0x10
jmp 0x48ffbd
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push ebx
call fcn.00481ed0
mov eax, dword [ebp]
add esp, 0xc
mov ecx, dword [ebp + 0x20]
dec ecx
cmp byte [eax + 0x41], 0
je 0x490120
mov eax, 0x4e50bc
jmp 0x490131
mov eax, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
test eax, eax
je 0x48ffbd
cmp byte [eax], 0x1a
jne 0x48ffbd
test byte [esi + 0x2a], 0x10
jne 0x49015b
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0x23], 1
mov byte [eax], 0x4b
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
jmp 0x4901bc
mov eax, dword [ebp + 0x20]
add eax, 2
push eax
push edi
push 0x4c
push ebp
call fcn.004a3dc0
add esp, 0x10
push edi
push 0x26
push ebp
call fcn.004a3d50
add esp, 0xc
jmp 0x4901bc
test byte [esi + 0x2a], 0x10
jne 0x4901aa
cmp byte [esp + 0x2f], 0
jne 0x4901aa
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x48]
push edi
push ecx
push 0x4b
push ebp
call fcn.004a3e30
add esp, 0x14
mov byte [esp + 0x23], 1
jmp 0x4901bc
mov edi, dword [esp + 0x1c]
push edi
push 0
push 0x1a
push ebp
call fcn.004a3dc0
add esp, 0x10
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x4901d6
push edi
push eax
push 0x89
push dword [ebx + 8]
call fcn.004a3dc0
add esp, 0x10
xor edx, edx
xor eax, eax
xor edi, edi
mov dword [esp + 0x4c], edx
cmp ax, word [esi + 0x22]
jge 0x49026f
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x5c]
movsx eax, word [esi + 0x20]
add ebx, edi
cmp edi, eax
jne 0x4902d0
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
cmp dword [eax + 0x54], esi
jg 0x49021c
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x49024c
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
inc dword [ebp + 0x20]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
movsx eax, word [esi + 0x22]
inc edi
mov edx, dword [esp + 0x4c]
add ecx, 0x18
mov dword [esp + 0x1c], ecx
cmp edi, eax
jl 0x4901f0
test byte [esi + 0x2a], 0x10
je 0x490519
mov esi, dword [esi + 0x38]
test esi, esi
je 0x49028f
mov eax, dword [esp + 0x48]
cmp dword [esi], eax
je 0x49028f
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x490284
mov edi, dword [esp + 0x14]
push edi
push ebx
call fcn.004ae6e0
mov eax, dword [ebp + 0x18]
add esp, 8
movsx ebx, word [edi + 0x22]
mov edi, dword [ebp + 0x20]
add ebx, 2
cmp dword [eax + 0x54], edi
jg 0x4903c8
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
je 0x4903c8
mov edi, 1
jmp 0x4903f8
cmp dword [esp + 0xc4], 0
jne 0x490310
mov eax, dword [esi + 4]
test byte [eax + ecx + 0x17], 2
je 0x49030a
inc edx
mov dword [esp + 0x4c], edx
mov eax, dword [esi + 4]
push ebx
mov ebx, dword [esp + 0xbc]
push dword [eax + ecx + 4]
push ebx
call fcn.004821e0
mov ecx, dword [esp + 0x28]
add esp, 0xc
jmp 0x49025b
mov eax, edi
sub eax, edx
jmp 0x490340
mov edx, dword [esp + 0xc4]
xor eax, eax
mov edx, dword [edx + 4]
test edx, edx
jle 0x490344
mov ecx, dword [esp + 0xc4]
mov ecx, dword [ecx]
add ecx, 4
lea esp, [esp]
cmp dword [ecx], edi
je 0x49033c
inc eax
add ecx, 8
cmp eax, edx
jl 0x490330
mov ecx, dword [esp + 0x1c]
test eax, eax
js 0x4902e9
cmp dword [esp + 0x30], 0
je 0x4902e9
mov edx, dword [esp + 0xc4]
test edx, edx
je 0x49035b
cmp eax, dword [edx + 4]
jge 0x4902e9
cmp byte [esp + 0x13], 0
je 0x490378
push ebx
push eax
push dword [esp + 0x2c]
push 0x2f
push ebp
call fcn.004a3e30
add esp, 0x14
jmp 0x490250
cmp dword [esp + 0x28], 0
je 0x4903a1
mov edx, dword [esp + 0x64]
cmp edx, dword [esp + 0x5c]
je 0x490254
push ebx
add eax, edx
push eax
push 0x20
push ebp
call fcn.004a3dc0
add esp, 0x10
jmp 0x490250
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0xbc]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push ebx
call fcn.00481ed0
mov ecx, dword [esp + 0x28]
add esp, 0xc
jmp 0x49025b
mov eax, dword [ebp + 4]
lea ecx, [edi + edi*4]
inc dword [ebp + 0x20]
mov edx, dword [esp + 0x54]
mov word [eax + ecx*4], 0xd
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
test edx, edx
je 0x490446
cmp byte [ecx + 0x41], 0
jne 0x490446
test edi, edi
jns 0x490410
mov edi, dword [ebp + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00452320
add esp, 0xc
mov dword [edi + 0x10], 0
test esi, esi
jne 0x49043c
mov dword [edi + 0x10], esi
mov byte [edi + 1], 0
jmp 0x490446
mov dword [edi + 0x10], esi
mov byte [edi + 1], 0xf6
inc dword [esi + 0xc]
mov eax, dword [esp + 0xc8]
mov edx, 2
cmp eax, 0xa
je 0x490459
mov edx, eax
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x49046a
mov eax, dword [ebp + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 0x198]
test eax, eax
jne 0x49047d
mov eax, ebx
mov byte [eax + 0x15], 1
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
test byte [eax + 0x18], 0x80
je 0x4904dd
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4904a9
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x4904dd
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
inc dword [ebp + 0x20]
mov edx, dword [esp + 0x7c]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x74]
test edx, edx
je 0x49059b
mov ecx, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x18]
push dword [esp + 0xcc]
movsx eax, word [edi + 0x22]
sub ecx, eax
sub ecx, 2
push ecx
push edi
push 2
push 0
push 0x6c
push edx
push ebx
call fcn.0047d190
add esp, 0x24
jmp 0x49059f
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x4c]
mov edi, dword [esp + 0x38]
test ecx, ecx
push eax
push edi
push dword [esp + 0xd0]
setns al
movzx eax, al
push eax
push 0
push dword [esp + 0x68]
push dword [esp + 0x70]
push dword [esp + 0x60]
push dword [esp + 0x80]
push esi
push ebx
call fcn.0048ba20
push 0
push 0
push dword [esp + 0x88]
push 0
push esi
push ebx
call fcn.00486030
add esp, 0x44
xor eax, eax
cmp dword [esp + 0x4c], eax
sete al
push eax
movzx eax, byte [esp + 0x27]
push eax
push 0
push dword [esp + 0x6c]
push dword [esp + 0x64]
push dword [esp + 0x6c]
push dword [esp + 0x5c]
push esi
push ebx
call fcn.0047dd50
add esp, 0x24
jmp 0x490485
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 0x18]
or ecx, 0xffffffff
sub ecx, dword [esp + 0x38]
js 0x4905b8
mov edx, dword [esi + 0x70]
test edx, edx
je 0x4905b8
mov eax, dword [ebp + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0x20]
dec eax
cmp byte [esp + 0x13], 0
mov dword [esi + 0x58], eax
je 0x490689
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4905e4
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x49061a
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
inc dword [ebp + 0x20]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
mov word [eax + ecx*4], 8
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x49061e
mov ebx, dword [esp + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0x70]
cmp edx, eax
jbe 0x490633
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
cmp dword [eax + 0x54], esi
jg 0x490657
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x4906c1
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
inc dword [ebp + 0x20]
mov word [eax + ecx*4], 0x3d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4906c1
cmp dword [esp + 0x28], 0
je 0x4906c1
mov edx, dword [esp + 0x68]
push edx
push 0
push 0xe
push ebp
call fcn.004a3dc0
mov edx, dword [ebp + 0x20]
add esp, 0x10
mov eax, dword [esp + 0x70]
cmp edx, eax
jbe 0x4906b7
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
test byte [edi + 0x2a], 0x10
jne 0x490742
cmp dword [esp + 0x78], 0
jne 0x490742
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
cmp eax, ebx
jge 0x4906e6
push eax
push 0x3d
push ebp
call fcn.004a3d50
add esp, 0xc
mov edi, dword [edi + 8]
test edi, edi
je 0x490742
lea ecx, [ecx]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x20]
cmp dword [eax + 0x54], esi
jg 0x49070a
push 1
push ebp
call fcn.004650f0
add esp, 8
test eax, eax
jne 0x49073a
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
inc dword [ebp + 0x20]
mov word [eax + ecx*4], 0x3d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [edi + 0x14]
inc ebx
test edi, edi
jne 0x4906f0
mov esi, dword [esp + 0xb8]
cmp byte [esi + 0x12], 0
jne 0x490761
cmp dword [esi + 0x19c], 0
jne 0x490761
push esi
call fcn.00478610
add esp, 4
mov eax, dword [esp + 0x48]
test byte [eax + 0x18], 0x80
je 0x4907c2
cmp byte [esi + 0x12], 0
jne 0x4907c2
cmp dword [esi + 0x19c], 0
jne 0x4907c2
push 1
push dword [esp + 0x80]
push 0x21
push ebp
call fcn.004a3dc0
push 1
push ebp
call fcn.004ad0e0
mov eax, dword [ebp]
add esp, 0x18
cmp byte [eax + 0x41], 0
jne 0x4907c2
push 0
push 1
push 0xffffffffffffffff
push str.rows_inserted
push dword [ebp + 0x10]
call fcn.004abce0
add esp, 0x14
jmp 0x4907c2
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x28], eax
push dword [esp + 0xbc]
mov esi, dword [esp + 0x4c]
push esi
call fcn.0049e7e0
push dword [esp + 0x3c]
push esi
call fcn.00484860
push 1
push dword [esp + 0x3c]
push esi
call fcn.004485b0
push dword [esp + 0xe0]
push esi
call fcn.0048eb40
mov ebp, dword [esp + 0x84]
add esp, 0x24
test ebp, ebp
je 0x4908bb
test esi, esi
je 0x49085a
cmp dword [esi + 0x208], 0
je 0x49082a
push ebp
push esi
call fcn.00467960
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
cmp ebp, dword [esi + 0x114]
jb 0x49085a
cmp ebp, dword [esi + 0x118]
jae 0x49085a
mov eax, dword [esi + 0x110]
mov dword [ebp], eax
dec dword [esi + 0xfc]
pop edi
mov dword [esi + 0x110], ebp
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
cmp dword [0x4e2568], 0
je 0x4908b1
mov eax, dword [0x4e4db0]
test eax, eax
je 0x490876
push eax
call dword [0x4e25bc]
add esp, 4
push ebp
call dword [0x4e2598]
sub dword [0x4e4c08], eax
dec dword [0x4e4c2c]
push ebp
call dword [0x4e2590]
mov eax, dword [0x4e4db0]
add esp, 8
test eax, eax
je 0x4908bb
push eax
call dword [0x4e25c4]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
push ebp
call dword [0x4e2590]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret