Function at 0x4ec0c1
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
mov ebx, ecx
mov eax, edx
xor ecx, ecx
mov dword [esp + 0x44], eax
push esi
push edi
mov edx, ecx
mov edi, dword [ebx]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x38], edi
cmp dword [ebx + 0x40], ecx
jne 0x4ec39e
cmp byte [edi + 0x1e], cl
jne 0x4ec39e
mov edx, eax
mov ecx, ebx
call fcn.004ddc99
mov esi, eax
mov dword [esp + 0x58], esi
test esi, esi
je 0x4ec39e
mov edx, dword [esi + 0x44]
mov ecx, dword [ebx]
call fcn.004e5d78
mov dword [esp + 0x34], eax
mov edx, esi
lea eax, [esp + 0x68]
mov ecx, ebx
push eax
push dword [ebp + 8]
push 0x6b
call fcn.004eba46
mov dword [esp + 0x30], eax
add esp, 0xc
xor eax, eax
mov edx, esi
cmp dword [esi + 0x1c], eax
mov ecx, ebx
setne al
mov dword [esp + 0x60], eax
call fcn.004db8e8
test eax, eax
jne 0x4ec39e
push dword [esp + 0x68]
mov edx, esi
mov ecx, ebx
call fcn.004ddcdc
pop ecx
test eax, eax
jne 0x4ec39e
mov edx, dword [esi + 8]
mov ecx, edi
shl edx, 2
call fcn.004b73b2
mov edx, eax
mov dword [esp + 0x30], edx
test edx, edx
je 0x4ec39e
xor eax, eax
cmp dword [esi + 8], eax
jle 0x4ec1ba
or dword [edx + eax*4], 0xffffffff
inc eax
cmp eax, dword [esi + 8]
jl 0x4ec1b0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x10], eax
mov dword [ecx + 0x20], eax
inc dword [ebx + 0x44]
mov ecx, dword [ebx + 0x44]
mov eax, dword [esi + 0x10]
jmp 0x4ec1da
inc ecx
mov dword [ebx + 0x44], ecx
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x4ec1d3
push 9
pop ecx
lea edi, [esp + 0x7c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
xor edi, edi
and dword [esp + 0x1c], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x2c], edi
cmp dword [ecx], edi
jle 0x4ec32f
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, dword [ecx + 0xc]
lea ecx, [esp + 0x7c]
mov edx, dword [eax + edx]
call fcn.004d4854
test eax, eax
jne 0x4ec39e
xor edi, edi
cmp edi, dword [esi + 8]
jge 0x4ec29a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + ecx + 4]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov edx, ecx
mov ecx, dword [eax]
call fcn.004b8e8a
test eax, eax
je 0x4ec26c
mov eax, dword [esp + 0x50]
inc edi
mov ecx, dword [esp + 0x54]
add eax, 0x18
mov dword [esp + 0x50], eax
cmp edi, dword [esi + 8]
jl 0x4ec248
jmp 0x4ec295
cmp edi, dword [esi + 4]
jne 0x4ec28a
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 1
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + ecx]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edi*4], eax
cmp edi, dword [esi + 8]
jl 0x4ec2ce
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + ecx + 4]
call fcn.004d5a7f
test eax, eax
je 0x4ec349
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 1
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + ecx]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 8]
push dword [eax + ecx*8]
mov eax, dword [esi + 0xc]
imul ecx, edi, 0x18
push dword [ecx + eax]
mov ecx, ebx
push dword [esi]
push 0x17
pop edx
call fcn.004d9ecb
add esp, 0xc
cmp eax, 1
je 0x4ec39e
mov edx, dword [esp + 0x30]
cmp eax, 2
jne 0x4ec30c
or dword [edx + edi*4], 0xffffffff
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
inc edi
mov eax, dword [esp + 0x18]
add eax, 0x14
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], eax
cmp edi, dword [ecx]
jl 0x4ec211
mov edi, dword [esp + 0x2c]
mov eax, dword [ebx]
test dword [eax + 0xc], 0x4000000
je 0x4ec370
push edi
mov ecx, esi
call fcn.004e0970
pop ecx
mov dword [esp + 0x44], eax
jmp 0x4ec375
imul ecx, dword [esp + 0x1c], 0x14
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
push dword [ecx + eax + 4]
push str.no_such_column:__s
push ebx
call fcn.004b8dec
mov esi, dword [esp + 0x44]
add esp, 0xc
mov byte [ebx + 0x12], 1
jmp 0x4ec3a5
and dword [esp + 0x44], 0
mov eax, dword [esi + 0x10]
xor edx, edx
test eax, eax
je 0x4ec3f5
mov eax, dword [eax + 0x20]
inc edx
test eax, eax
jne 0x4ec37e
test edx, edx
jle 0x4ec3f9
mov ecx, dword [esp + 0x38]
shl edx, 2
call fcn.004b73b2
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4ec3fd
mov esi, dword [esp + 0x38]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4ec3ba
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x208], ecx
push dword [esp + 0x40]
push esi
call fcn.004b71f7
push dword [esp + 0x38]
push esi
call fcn.004b71f7
mov edx, dword [esp + 0x5c]
add esp, 0x10
mov ecx, esi
call fcn.004dcfee
mov edx, edi
mov ecx, esi
call fcn.004d58ec
mov edx, ebx
mov ecx, esi
call fcn.004d50e8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
jmp 0x4ec3fd
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x4ec45f
mov dword [esp + 0x1c], eax
test edi, edi
je 0x4ec414
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
jmp 0x4ec44d
xor eax, eax
xor edi, edi
mov dword [esp + 0x54], eax
cmp dword [ecx + 4], eax
jle 0x4ec449
mov edx, dword [ecx + 8]
mov esi, dword [esp + 0x30]
mov eax, dword [edx]
cmp dword [esi + eax*4], 0
mov esi, dword [esp + 0x58]
jge 0x4ec443
inc edi
add edx, 4
cmp edi, dword [ecx + 4]
jl 0x4ec424
mov eax, dword [esp + 0x54]
jmp 0x4ec449
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
add dword [esp + 0x1c], 4
mov dword [edx], eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x4ec408
mov ecx, ebx
call fcn.004e7786
mov edi, eax
mov dword [esp + 0x54], edi
test edi, edi
je 0x4ec39e
cmp byte [ebx + 0x13], 0
jne 0x4ec47e
mov byte [edi + 0x63], 1
push dword [esp + 0x34]
xor edx, edx
mov ecx, ebx
inc edx
call fcn.004dd40e
test byte [esi + 0x22], 0x10
pop ecx
je 0x4ec4c0
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, ebx
push dword [esp + 0x34]
mov edx, dword [esp + 0x54]
push dword [esp + 0x44]
push edi
push esi
call fcn.004ecc5b
mov esi, dword [esp + 0x4c]
xor ebx, ebx
add esp, 0x14
and dword [esp + 0x4c], ebx
jmp 0x4ec3a8
inc dword [ebx + 0x48]
mov edx, dword [ebx + 0x48]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edx
test eax, eax
jne 0x4ec4de
test ecx, ecx
je 0x4ec4f1
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
add eax, edx
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x2c], 0
jne 0x4ec500
test eax, eax
jne 0x4ec500
test ecx, ecx
je 0x4ec50a
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 0x48]
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
add eax, ecx
cmp dword [esp + 0x60], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x48], eax
je 0x4ec551
mov eax, dword [ebx + 0x208]
mov edx, ebx
push dword [esp + 0x10]
mov dword [esp + 0x74], edx
mov edx, esi
mov dword [esp + 0x7c], eax
mov eax, dword [esi]
push ecx
mov ecx, ebx
mov dword [ebx + 0x208], eax
call fcn.004ddd45
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov edx, ecx
lea ecx, [esp + 0x7c]
call fcn.004d4854
test eax, eax
jne 0x4ec39e
push eax
push dword [esp + 0x24]
mov ecx, edi
push eax
push 0xa
pop edx
call fcn.004c9cd0
mov edx, dword [esp + 0x58]
add esp, 0xc
mov ecx, ebx
push 4
push 0
push dword [ebp + 0xc]
call fcn.004f1951
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je 0x4ec39e
movzx eax, byte [eax + 6]
mov ecx, edi
push 0
push dword [esp + 0x24]
mov dword [esp + 0x58], eax
push dword [esp + 0x18]
push 0x3d
pop edx
call fcn.004c9cd0
add esp, 0xc
cmp dword [esp + 0x50], 0
jne 0x4ec5dc
inc dword [ebx + 0x48]
mov ecx, edi
mov eax, dword [ebx + 0x48]
push 0
push dword [esp + 0x24]
mov dword [esp + 0x7c], eax
push eax
push 0x69
pop edx
call fcn.004c9cd0
add esp, 0xc
mov ecx, dword [esp + 0x14]
call fcn.004f2225
mov eax, dword [esp + 0x38]
test dword [eax + 0xc], 0x1000
je 0x4ec616
xor ecx, ecx
cmp dword [ebx + 0x1ac], ecx
jne 0x4ec616
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
push ecx
push eax
push ecx
push 7
pop edx
mov ecx, edi
mov dword [esp + 0x78], eax
call fcn.004c9cd0
add esp, 0xc
cmp dword [esp + 0x60], 0
jne 0x4ec6c8
cmp dword [esp + 0x50], 0
jne 0x4ec63d
mov edx, dword [esp + 0x10]
mov ecx, ebx
push 0x27
push esi
push dword [esp + 0x3c]
call fcn.004e103f
add esp, 0xc
xor edx, edx
cmp dword [ebp + 0x10], 5
je 0x4ec65f
mov eax, dword [esi + 0x10]
mov dword [esp + 0x5c], edx
jmp 0x4ec657
cmp byte [eax + 0x18], 5
je 0x4ec65d
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x4ec64e
jmp 0x4ec664
xor edx, edx
inc edx
mov dword [esp + 0x5c], edx
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x4ec6c8
mov esi, eax
test edx, edx
jne 0x4ec684
mov eax, dword [esp + 0x40]
cmp dword [eax + ecx*4], edx
jle 0x4ec6b8
mov edx, esi
mov ecx, ebx
call fcn.004dd69b
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff0
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
inc ecx
push dword [esi + 0x14]
add eax, ecx
mov ecx, edi
push eax
push 0x27
pop edx
call fcn.004c9d47
mov ecx, dword [esp + 0x28]
add esp, 0x14
mov edx, dword [esp + 0x5c]
mov esi, dword [esi + 0x20]
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
jne 0x4ec677
mov esi, dword [esp + 0x58]
cmp dword [esp + 0x50], 0
mov ecx, edi
je 0x4ec713
push 0
push 0
push dword [esp + 0x28]
push 0x4a
pop edx
call fcn.004c9cd0
add esp, 0xc
mov esi, eax
xor eax, eax
xor edx, edx
inc edx
mov ecx, edi
push eax
push eax
push eax
call fcn.004c9cd0
add esp, 0xc
mov dword [esp + 0x14], eax
mov edx, esi
mov ecx, edi
push dword [edi + 0x1c]
call fcn.004c9f80
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
pop ecx
jmp 0x4ec72c
push dword [esp + 0x20]
push 0
push dword [esp + 0x7c]
push 0x6a
pop edx
call fcn.004c9cd0
add esp, 0xc
mov dword [esp + 0x14], eax
push dword [esp + 0x20]
mov ecx, edi
push eax
push dword [esp + 0x18]
push 0x34
pop edx
call fcn.004c9cd0
add esp, 0xc
cmp dword [esp + 0x2c], 0
je 0x4ec76e
push dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.004d7327
pop ecx
push 0
push 0
push dword [esp + 0x20]
mov ecx, edi
push 0x15
pop edx
call fcn.004c9cd0
add esp, 0xc
cmp dword [esp + 0x44], 0
jne 0x4ec785
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4ec842
xor eax, eax
jmp 0x4ec78e
mov edx, esi
mov ecx, ebx
call fcn.004e08b8
push dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, ebx
push esi
push 3
push 0
push dword [ebp + 8]
mov dword [esp + 0x50], eax
call fcn.004ebfdd
mov edx, dword [esp + 0x50]
add esp, 0x14
and dword [esp + 0x28], 0
or edx, eax
cmp dword [esi + 8], 0
mov dword [esp + 0x3c], edx
jle 0x4ec820
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp dword [eax + ebx*4], 0
jl 0x4ec7fa
cmp edx, 0xffffffff
je 0x4ec7fa
cmp ebx, 0x20
jge 0x4ec7e3
xor eax, eax
mov ecx, ebx
inc eax
shl eax, cl
test edx, eax
jne 0x4ec7fa
mov eax, dword [esp + 0x48]
mov ecx, edi
push 0
add eax, ebx
push eax
push 0
push 0xa
pop edx
call fcn.004c9cd0
jmp 0x4ec80f
mov eax, dword [esp + 0x48]
mov edx, esi
add eax, ebx
mov ecx, edi
push eax
push ebx
push dword [esp + 0x18]
call fcn.004d6681
mov edx, dword [esp + 0x48]
add esp, 0xc
inc ebx
cmp ebx, dword [esi + 8]
jl 0x4ec7c4
mov ebx, dword [esp + 0x64]
cmp dword [esp + 0x2c], 0
jne 0x4ec83e
push 0
push dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x28]
push 0xe
pop edx
call fcn.004c9cd0
add esp, 0xc
mov edx, dword [esp + 0x24]
push dword [ebp + 0x10]
mov ecx, ebx
push esi
push 1
push 1
push dword [ebp + 8]
call fcn.004ebfdd
mov edx, eax
add esp, 0x14
xor eax, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x34], eax
cmp dword [esi + 8], eax
jle 0x4ec90f
cmp eax, dword [esi + 4]
jne 0x4ec889
add eax, dword [esp + 0x1c]
mov ecx, edi
push 0
push eax
push 0
push 0xa
pop edx
call fcn.004c9cd0
add esp, 0xc
jmp 0x4ec8f9
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x4ec8ae
add eax, dword [esp + 0x1c]
push eax
imul eax, ecx, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov ecx, ebx
mov edx, dword [eax + edx]
call fcn.004d7327
jmp 0x4ec8f8
test dword [esp + 0x68], 1
je 0x4ec8cc
cmp eax, 0x1f
jg 0x4ec8cc
mov ecx, dword [esp + 0x34]
xor eax, eax
inc eax
shl eax, cl
test edx, eax
je 0x4ec8fd
mov eax, ecx
mov esi, dword [esp + 0x1c]
mov ecx, edi
add esi, eax
push esi
push eax
push dword [esp + 0x18]
push 0x1c
pop edx
call fcn.004c9cd0
add esp, 0xc
mov ecx, edi
push esi
push dword [esp + 0x38]
mov esi, dword [esp + 0x60]
mov edx, esi
call fcn.004ec044
pop ecx
pop ecx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esi + 8]
jl 0x4ec86c
test byte [esp + 0x68], 1
je 0x4ec9f0
push 0
push dword [esi + 8]
mov ecx, edi
push dword [esp + 0x24]
push 0x1d
pop edx
call fcn.004c9cd0
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.004e1108
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4ec981
mov edi, eax
cmp byte [edi + 8], 0x6b
jne 0x4ec976
cmp byte [edi + 9], 1
jne 0x4ec976
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x10]
call fcn.004eba02
test eax, eax
je 0x4ec976
push dword [esp + 0x14]
mov edx, edi
mov ecx, ebx
push dword [ebp + 0x10]
push dword [esp + 0x28]
push esi
call fcn.004ebf03
add esp, 0x10
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x4ec943
mov edi, dword [esp + 0x54]
push dword [esp + 0x20]
mov ecx, edi
push dword [esp + 0x18]
push dword [esp + 0x18]
push 0x34
pop edx
call fcn.004c9cd0
and dword [esp + 0x34], 0
add esp, 0xc
cmp dword [esi + 8], 0
jle 0x4ec9f0
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp dword [eax + ebx*4], 0
jge 0x4ec9e6
cmp ebx, dword [esi + 4]
je 0x4ec9e6
mov esi, dword [esp + 0x1c]
mov ecx, edi
add esi, ebx
push esi
push ebx
push dword [esp + 0x18]
push 0x1c
pop edx
call fcn.004c9cd0
add esp, 0xc
mov ecx, edi
push esi
mov esi, dword [esp + 0x5c]
mov edx, esi
push ebx
call fcn.004ec044
mov eax, dword [esp + 0x38]
pop ecx
pop ecx
inc ebx
cmp ebx, dword [esi + 8]
jl 0x4ec9ad
mov ebx, dword [esp + 0x64]
cmp dword [esp + 0x60], 0
jne 0x4ecaf1
push 0
push dword [esp + 0x18]
xor eax, eax
mov edx, esi
push dword [ebp + 0x10]
cmp dword [esp + 0x38], eax
mov ecx, ebx
push 1
cmovne eax, dword [esp + 0x30]
push eax
push dword [esp + 0x54]
push dword [esp + 0x30]
push dword [esp + 0x2c]
call fcn.004e2237
add esp, 0x20
cmp dword [esp + 0x44], 0
je 0x4eca42
push 0
push dword [esp + 0x24]
mov edx, esi
mov ecx, ebx
call fcn.004e05f7
pop ecx
pop ecx
push dword [esp + 0x20]
mov ecx, edi
push 0
push dword [esp + 0x18]
push 0x34
pop edx
call fcn.004c9cd0
add esp, 0xc
mov dword [esp + 0x28], eax
mov edx, esi
mov ecx, ebx
push dword [esp + 0x40]
push dword [esp + 0x14]
call fcn.004de47e
cmp dword [esp + 0x4c], 0
pop ecx
pop ecx
jne 0x4eca7e
cmp dword [esp + 0x2c], 0
je 0x4eca93
push 0
push 0
push dword [esp + 0x18]
mov ecx, edi
push 0x39
pop edx
call fcn.004c9cd0
add esp, 0xc
push dword [edi + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.004c9f80
cmp dword [esp + 0x48], 0
pop ecx
je 0x4ecaba
push dword [esp + 0x18]
mov edx, esi
mov ecx, ebx
push 0
call fcn.004e05f7
pop ecx
pop ecx
push 0
push 0
push 1
push dword [esp + 0x4c]
mov edx, esi
mov ecx, ebx
push dword [esp + 0x28]
push dword [esp + 0x24]
call fcn.004e28bb
add esp, 0x18
cmp dword [esp + 0x44], 0
je 0x4ecaf1
push dword [esp + 0x20]
mov edx, esi
mov ecx, ebx
push dword [ebp + 8]
call fcn.004e0f5a
pop ecx
pop ecx
mov eax, dword [esp + 0x38]
test dword [eax + 0xc], 0x1000
je 0x4ecb1c
cmp dword [ebx + 0x1ac], 0
jne 0x4ecb1c
push 0
push 1
push dword [esp + 0x74]
mov ecx, edi
push 0x14
pop edx
call fcn.004c9cd0
add esp, 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4ecb6d
mov edi, dword [esp + 0x14]
cmp byte [eax + 8], 0x6b
jne 0x4ecb5e
cmp byte [eax + 9], 2
jne 0x4ecb5e
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
call fcn.004eba02
test eax, eax
je 0x4ecb5a
mov edx, dword [esp + 0x24]
mov ecx, ebx
push edi
push dword [ebp + 0x10]
push dword [esp + 0x28]
push esi
call fcn.004ebf03
add esp, 0x10
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4ecb28
mov edi, dword [esp + 0x54]
push 0
push dword [esp + 0x18]
xor edx, edx
mov ecx, edi
push 0
inc edx
call fcn.004c9cd0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, edi
push dword [edi + 0x1c]
call fcn.004c9f80
mov esi, dword [esi + 0x10]
pop ecx
xor ecx, ecx
test esi, esi
je 0x4ecbd1
mov ebx, ecx
cmp dword [esp + 0x5c], 0
jne 0x4ecbac
mov eax, dword [esp + 0x40]
cmp dword [eax + ebx*4], ecx
jle 0x4ecbc5
mov eax, dword [esp + 0x10]
push ecx
push ecx
inc eax
mov ecx, edi
add eax, ebx
push eax
push 0x2b
pop edx
call fcn.004c9cd0
add esp, 0xc
xor ecx, ecx
mov esi, dword [esi + 0x20]
inc ebx
test esi, esi
jne 0x4ecb9c
mov ebx, dword [esp + 0x64]
push ecx
push ecx
push dword [esp + 0x18]
mov ecx, edi
push 0x2b
pop edx
call fcn.004c9cd0
add esp, 0xc
cmp byte [ebx + 0x13], 0
jne 0x4ecbfa
cmp dword [ebx + 0x1ac], 0
jne 0x4ecbfa
mov ecx, ebx
call fcn.004e13ba
mov esi, dword [esp + 0x38]
test dword [esi + 0xc], 0x1000
je 0x4ec3a2
cmp dword [ebx + 0x1ac], 0
jne 0x4ec3a2
cmp byte [ebx + 0x13], 0
jne 0x4ec3a2
push 0
push 1
push dword [esp + 0x74]
mov ecx, edi
push 0x10
pop edx
call fcn.004c9cd0
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.004cacbb
push 0
push str.rows_updated
push 0
xor edx, edx
mov ecx, edi
call fcn.004cad23
add esp, 0xc
jmp 0x4ec3a2