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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
mov ebx, ecx
xor ecx, ecx
push esi
mov eax, edx
push edi
mov edi, dword [ebx]
mov edx, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], edi
cmp dword [ebx + 0x44], ecx
jne 0x48d15f
cmp byte [edi + 0x38], cl
jne 0x48d15f
mov edx, eax
mov ecx, ebx
call fcn.0047ccda
mov esi, eax
mov dword [esp + 0x5c], esi
test esi, esi
je 0x48d15f
mov edx, dword [esi + 0x40]
mov ecx, dword [ebx]
call fcn.00485b25
mov dword [esp + 0x58], eax
lea eax, [esp + 0x64]
push eax
push dword [ebp + 8]
mov edx, esi
push 0x6b
mov ecx, ebx
call fcn.0048bf5b
mov dword [esp + 0x34], eax
xor eax, eax
add esp, 0xc
cmp dword [esi + 0xc], eax
mov edx, esi
setne al
mov ecx, ebx
mov dword [esp + 0x68], eax
call fcn.0047a7e3
test eax, eax
jne 0x48d15f
push dword [esp + 0x64]
mov edx, esi
mov ecx, ebx
call fcn.0047cd18
pop ecx
test eax, eax
jne 0x48d15f
movsx edx, word [esi + 0x26]
shl edx, 2
mov ecx, edi
call fcn.00453ac0
mov dword [esp + 0x24], eax
test eax, eax
je 0x48d15f
xor eax, eax
xor ecx, ecx
cmp ax, word [esi + 0x26]
jge 0x48c6bd
mov ebx, dword [esp + 0x24]
or dword [ebx + ecx*4], 0xffffffff
movsx eax, word [esi + 0x26]
inc ecx
cmp ecx, eax
jl 0x48c6ac
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [edx + 0x34], eax
inc dword [ebx + 0x48]
mov ecx, dword [ebx + 0x48]
mov eax, dword [esi + 8]
jmp 0x48c6dd
inc ecx
mov dword [ebx + 0x48], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48c6d6
push 8
pop ecx
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x7c], edx
xor edx, edx
xor edi, edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x34], edx
cmp dword [ecx], eax
jle 0x48c840
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 8]
lea ecx, [esp + 0x78]
mov edx, dword [eax + edx]
call fcn.004734de
test eax, eax
jne 0x48d15f
movsx eax, word [esi + 0x26]
xor ecx, ecx
mov dword [esp + 0xc], ecx
test eax, eax
jle 0x48c7a3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
mov eax, dword [esi + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
push edx
push dword [eax]
call fcn.00455583
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x48c777
movsx edx, word [esi + 0x26]
mov eax, dword [esp + 0x40]
inc ecx
add eax, 0x18
cmp ecx, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x40], eax
jl 0x48c747
jmp 0x48c7a3
movsx eax, word [esi + 0x24]
cmp ecx, eax
jne 0x48c79c
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [ebx + 8]
mov ebx, dword [esp + 0x3c]
mov eax, dword [eax + edx]
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*4], edi
movsx eax, word [esi + 0x26]
cmp ecx, eax
jl 0x48c7df
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ecx + 4]
call fcn.004747fa
test eax, eax
je 0x48c860
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + 8]
mov dword [esp + 0x34], 1
mov eax, dword [eax + ecx]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
imul ecx, ecx, 0x18
push dword [ecx + eax]
mov ecx, ebx
push dword [esi]
push 0x17
pop edx
call fcn.00478d24
add esp, 0xc
cmp eax, 1
je 0x48d15f
cmp eax, 2
jne 0x48c825
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
or dword [ecx + eax*4], 0xffffffff
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
inc edi
add eax, 0x18
mov dword [esp + 0x20], eax
cmp edi, dword [ecx]
jl 0x48c709
mov edx, dword [esp + 0x34]
mov eax, dword [ebx]
test dword [eax + 0x18], 0x40000
je 0x48c884
push edx
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.0047fe7e
pop ecx
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x48c88a
mov esi, dword [ebp + 8]
imul edi, edi, 0x18
mov eax, dword [esi + 8]
push dword [edi + eax + 4]
push str.no_such_column:__s
push ebx
call fcn.004554e6
add esp, 0xc
mov byte [ebx + 0x11], 1
jmp 0x48d162
xor edi, edi
mov dword [esp + 0x2c], edi
mov eax, dword [esi + 8]
xor edx, edx
test eax, eax
je 0x48c8b9
mov eax, dword [eax + 0x14]
inc edx
test eax, eax
jne 0x48c893
test edx, edx
jle 0x48c8bd
mov ecx, dword [esp + 0x44]
shl edx, 2
call fcn.00453ac0
mov dword [esp + 0x30], eax
test eax, eax
je 0x48d15f
jmp 0x48c8c1
mov eax, edx
jmp 0x48c8c1
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x48c92f
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], eax
test edi, edi
jne 0x48c99c
test esi, esi
jne 0x48c99c
movzx edx, word [ecx + 0x28]
xor eax, eax
mov dword [esp + 0x48], eax
test edx, edx
jle 0x48c915
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
mov ebx, dword [esp + 0x3c]
jge 0x48c991
movzx eax, word [ecx + 0x28]
inc edi
add edx, 4
cmp edi, eax
jl 0x48c8f1
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
add dword [esp + 0x38], 4
mov dword [edx], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c8d0
mov esi, dword [esp + 0x5c]
mov ecx, ebx
call fcn.00487714
mov edi, eax
mov dword [esp + 0x48], edi
test edi, edi
je 0x48d15f
cmp byte [ebx + 0x12], 0
jne 0x48c94e
or dword [edi + 0x64], 0x10
push dword [esp + 0x58]
xor edx, edx
inc edx
mov ecx, ebx
call fcn.0047c45a
test byte [esi + 0x2a], 0x10
pop ecx
je 0x48c9a7
push dword [ebp + 0x10]
mov edx, dword [esp + 0x50]
push dword [ebp + 0xc]
mov ecx, ebx
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [ebp + 8]
push esi
call fcn.0048d1b5
mov esi, dword [ebp + 8]
xor ebx, ebx
add esp, 0x18
and dword [esp + 0x4c], ebx
jmp 0x48d165
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
jmp 0x48c915
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
jmp 0x48c919
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x28]
lea edx, [eax + 1]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edx
mov dword [ebx + 0x4c], edx
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x48c9cf
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48c9e3
lea eax, [edx + 1]
mov dword [esp + 0x54], eax
movsx eax, word [esi + 0x26]
add eax, edx
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x34], 0
jne 0x48c9f2
test ecx, ecx
jne 0x48c9f2
test eax, eax
je 0x48c9fc
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x20], eax
mov ecx, dword [ebx + 0x4c]
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
movsx eax, word [esi + 0x26]
add eax, ecx
cmp dword [esp + 0x68], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x4c], eax
je 0x48ca44
mov eax, dword [ebx + 0x204]
push dword [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [esi]
mov dword [esp + 0x74], edx
push ecx
mov edx, esi
mov ecx, ebx
mov dword [ebx + 0x204], eax
call fcn.0047cd81
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov edx, ecx
lea ecx, [esp + 0x78]
call fcn.004734de
test eax, eax
jne 0x48d15f
push dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x44]
push eax
push 0xa
pop edx
call fcn.00467132
mov edx, dword [esp + 0x58]
add esp, 0xc
xor eax, eax
push eax
push 4
push eax
push eax
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.00492dec
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
je 0x48d15f
movzx eax, byte [eax + 0xc]
push 0
push dword [esp + 0x20]
mov ecx, edi
push dword [esp + 0x18]
mov dword [esp + 0x78], eax
push 0x41
pop edx
call fcn.00467132
add esp, 0xc
cmp dword [esp + 0x6c], 0
jne 0x48cace
push 0
push dword [esp + 0x20]
mov ecx, edi
push dword [esp + 0x48]
push 0x70
pop edx
call fcn.00467132
add esp, 0xc
mov ecx, dword [esp + 0xc]
call fcn.0049371a
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x48cb05
xor ecx, ecx
cmp dword [ebx + 0x1b4], ecx
jne 0x48cb05
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
push ecx
push eax
push ecx
push 7
pop edx
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.00467132
add esp, 0xc
cmp dword [esp + 0x68], 0
jne 0x48cbb7
cmp dword [esp + 0x6c], 0
jne 0x48cb2c
mov edx, dword [esp + 0x10]
push 0x28
push esi
push dword [esp + 0x60]
mov ecx, ebx
call fcn.00480711
add esp, 0xc
xor edx, edx
cmp dword [ebp + 0x10], 5
je 0x48cb4e
mov eax, dword [esi + 8]
mov dword [esp + 0x50], edx
jmp 0x48cb46
cmp byte [eax + 0x2a], 5
je 0x48cb4c
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x48cb3d
jmp 0x48cb53
xor edx, edx
inc edx
mov dword [esp + 0x50], edx
mov eax, dword [esi + 8]
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
test eax, eax
je 0x48cbb7
mov esi, eax
test edx, edx
jne 0x48cb73
mov eax, dword [esp + 0x30]
cmp dword [eax + ecx*4], edx
jle 0x48cba7
mov edx, esi
mov ecx, ebx
call fcn.0047c6e1
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff0
push eax
push dword [esp + 0x60]
mov eax, dword [esp + 0x18]
push dword [esi + 0x24]
inc ecx
add eax, ecx
push eax
push 0x28
pop edx
mov ecx, edi
call fcn.00467183
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
add esp, 0x14
mov esi, dword [esi + 0x14]
inc ecx
mov dword [esp + 0xc], ecx
test esi, esi
jne 0x48cb66
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0x6c], 0
mov ecx, edi
je 0x48cc63
push 0
push 0
push dword [esp + 0x24]
push 0x4a
pop edx
call fcn.00467132
add esp, 0xc
mov dword [esp + 0x14], eax
xor eax, eax
push eax
push eax
xor edx, edx
push eax
inc edx
mov ecx, edi
call fcn.00467132
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
js 0x48cc06
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.00467421
pop ecx
mov eax, dword [esp + 0xc]
push dword [esp + 0x1c]
mov ecx, edi
push eax
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.00467132
add esp, 0xc
cmp dword [esp + 0x34], 0
je 0x48cc4c
push dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00476126
pop ecx
push 0
push 0
push dword [esp + 0x28]
mov ecx, edi
push 0x15
pop edx
call fcn.00467132
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x48cc7e
mov edx, dword [esp + 0x28]
test edx, edx
je 0x48cd40
xor eax, eax
jmp 0x48cc87
push dword [esp + 0x1c]
push 0
push dword [esp + 0x48]
push 0x71
pop edx
call fcn.00467132
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x48cc0a
mov edx, esi
mov ecx, ebx
call fcn.0047fdc7
push dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push esi
push 3
push 0
push dword [ebp + 8]
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.0048c4d9
mov edx, dword [esp + 0x2c]
and dword [esp + 0x28], 0
or edx, eax
xor eax, eax
add esp, 0x14
mov dword [esp + 0x18], edx
cmp ax, word [esi + 0x26]
jge 0x48cd1e
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp dword [eax + ebx*4], 0
jl 0x48ccf5
cmp edx, 0xffffffff
je 0x48ccf5
cmp ebx, 0x20
jge 0x48ccde
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
test edx, eax
jne 0x48ccf5
mov eax, dword [esp + 0x54]
push 0
add eax, ebx
push eax
push 0
push 0xa
pop edx
mov ecx, edi
call fcn.00467132
jmp 0x48cd0a
mov eax, dword [esp + 0x54]
add eax, ebx
push eax
push ebx
push dword [esp + 0x18]
mov edx, esi
mov ecx, edi
call fcn.00475412
movsx eax, word [esi + 0x26]
mov edx, dword [esp + 0x24]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x48ccbf
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x34], 0
jne 0x48cd3c
push 0
push dword [esp + 0x24]
mov ecx, edi
push dword [esp + 0x24]
push 0xe
pop edx
call fcn.00467132
add esp, 0xc
mov edx, dword [esp + 0x28]
push dword [ebp + 0x10]
mov ecx, ebx
push esi
push 1
push 1
push dword [ebp + 8]
call fcn.0048c4d9
movsx ecx, word [esi + 0x26]
add esp, 0x14
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
dec ecx
add ecx, eax
push ecx
push eax
push 0
push 0xa
pop edx
mov ecx, edi
call fcn.00467132
xor eax, eax
add esp, 0xc
xor ecx, ecx
cmp ax, word [esi + 0x26]
jmp 0x48ce0b
movsx eax, word [esi + 0x24]
cmp ecx, eax
je 0x48ce04
mov eax, dword [esp + 0x24]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x48cdb9
mov eax, dword [esp + 0x38]
imul edx, edx, 0x18
add eax, ecx
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov ecx, ebx
mov edx, dword [eax + edx]
call fcn.00476126
jmp 0x48cdff
test dword [esp + 0x64], 1
je 0x48cdd3
cmp ecx, 0x1f
jg 0x48cdd3
xor eax, eax
inc eax
shl eax, cl
test dword [esp + 0x54], eax
je 0x48ce04
mov esi, dword [esp + 0x38]
add esi, ecx
push esi
push ecx
push dword [esp + 0x18]
mov ecx, edi
push 0x1d
pop edx
call fcn.00467132
add esp, 0xc
mov ecx, edi
push esi
mov esi, dword [esp + 0x60]
push dword [esp + 0x1c]
mov edx, esi
call fcn.0048c53e
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
movsx eax, word [esi + 0x26]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x48cd82
test byte [esp + 0x64], 1
je 0x48cefc
movsx eax, word [esi + 0x26]
push 0
push eax
push dword [esp + 0x40]
mov ecx, edi
push 0x1e
pop edx
call fcn.00467132
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.004807d7
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48ce89
mov edi, eax
cmp byte [edi + 8], 0x6b
jne 0x48ce7e
cmp byte [edi + 9], 1
jne 0x48ce7e
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x10]
call fcn.0048bf15
test eax, eax
je 0x48ce7e
push dword [esp + 0xc]
mov edx, edi
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x24]
push esi
call fcn.0048c3ff
add esp, 0x10
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x48ce4b
mov edi, dword [esp + 0x48]
push dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x10]
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.00467132
and dword [esp + 0x20], 0
xor eax, eax
add esp, 0xc
cmp ax, word [esi + 0x26]
jge 0x48cefc
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp dword [eax + ebx*4], 0
jge 0x48ceef
movsx eax, word [esi + 0x24]
cmp ebx, eax
je 0x48ceef
mov esi, dword [esp + 0x38]
add esi, ebx
push esi
push ebx
push dword [esp + 0x18]
mov ecx, edi
push 0x1d
pop edx
call fcn.00467132
add esp, 0xc
mov ecx, edi
push esi
mov esi, dword [esp + 0x60]
push ebx
mov edx, esi
call fcn.0048c53e
pop ecx
pop ecx
movsx eax, word [esi + 0x26]
inc ebx
cmp ebx, eax
jl 0x48ceb3
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x68], 0
jne 0x48d003
push 0
push dword [esp + 0x10]
xor eax, eax
push dword [ebp + 0x10]
cmp dword [esp + 0x40], eax
push 1
cmovne eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x44]
mov edx, esi
push dword [esp + 0x38]
mov ecx, ebx
push dword [esp + 0x2c]
call fcn.004819b9
add esp, 0x20
cmp dword [esp + 0x2c], 0
je 0x48cf4e
push 0
push dword [esp + 0x20]
mov edx, esi
mov ecx, ebx
call fcn.0047fa8f
pop ecx
pop ecx
push dword [esp + 0x1c]
mov ecx, edi
push 0
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.00467132
add esp, 0xc
mov edx, esi
push dword [esp + 0x30]
mov ecx, ebx
push dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0047d4ce
cmp dword [esp + 0x34], 0
pop ecx
pop ecx
jne 0x48cf8a
cmp dword [esp + 0x34], 0
je 0x48cf9f
push 0
push 0
push dword [esp + 0x18]
mov ecx, edi
push 0x3b
pop edx
call fcn.00467132
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
js 0x48cfb4
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.00467421
pop ecx
cmp dword [esp + 0x2c], 0
je 0x48cfcc
push dword [esp + 0x20]
mov edx, esi
push 0
mov ecx, ebx
call fcn.0047fa8f
pop ecx
pop ecx
push 0
push 0
push 1
push dword [esp + 0x3c]
mov edx, esi
push dword [esp + 0x30]
mov ecx, ebx
push dword [esp + 0x24]
call fcn.004820ed
add esp, 0x18
cmp dword [esp + 0x2c], 0
je 0x48d003
push dword [esp + 0x1c]
mov edx, esi
push dword [ebp + 8]
mov ecx, ebx
call fcn.0048062e
pop ecx
pop ecx
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x48d02b
cmp dword [ebx + 0x1b4], 0
jne 0x48d02b
push 0
push 1
push dword [esp + 0x68]
mov ecx, edi
push 0x14
pop edx
call fcn.00467132
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48d07c
mov edi, dword [esp + 0xc]
cmp byte [eax + 8], 0x6b
jne 0x48d06d
cmp byte [eax + 9], 2
jne 0x48d06d
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
call fcn.0048bf15
test eax, eax
je 0x48d069
mov edx, dword [esp + 0x28]
push edi
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x24]
push esi
call fcn.0048c3ff
add esp, 0x10
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x48d037
mov edi, dword [esp + 0x48]
push 0
push dword [esp + 0x10]
xor edx, edx
push 0
inc edx
mov ecx, edi
call fcn.00467132
mov eax, dword [esp + 0x18]
add esp, 0xc
test eax, eax
js 0x48d0a6
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.00467421
pop ecx
mov esi, dword [esi + 8]
and dword [esp + 0x14], 0
test esi, esi
je 0x48d0ec
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x50], 0
jne 0x48d0c7
mov eax, dword [esp + 0x30]
cmp dword [eax + ebx*4], 0
jle 0x48d0e0
mov eax, dword [esp + 0x10]
push 0
inc eax
push 0
add eax, ebx
push eax
push 0x2d
pop edx
mov ecx, edi
call fcn.00467132
add esp, 0xc
mov esi, dword [esi + 0x14]
inc ebx
test esi, esi
jne 0x48d0b6
mov ebx, dword [esp + 0x3c]
xor esi, esi
push esi
push esi
push dword [esp + 0x18]
mov ecx, edi
push 0x2d
pop edx
call fcn.00467132
add esp, 0xc
cmp byte [ebx + 0x12], 0
jne 0x48d116
cmp dword [ebx + 0x1b4], esi
jne 0x48d116
mov ecx, ebx
call fcn.00480a8f
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x48d15f
cmp dword [ebx + 0x1b4], esi
jne 0x48d15f
cmp byte [ebx + 0x12], 0
jne 0x48d15f
push esi
push 1
push dword [esp + 0x68]
mov ecx, edi
push 0x10
pop edx
call fcn.00467132
xor edx, edx
add esp, 0xc
inc edx
mov ecx, edi
call fcn.00468238
push esi
push str.rows_updated
push esi
xor edx, edx
mov ecx, edi
call fcn.0046829f
add esp, 0xc
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x48d177
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x204], ecx
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.00453901
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.00453901
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.0047c038
mov edx, esi
mov ecx, edi
call fcn.00474668
mov edx, ebx
mov ecx, edi
call fcn.00473e88
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret