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

Disassembly:
sub esp, 0xe4
push ebx
xor ebx, ebx
or eax, 0xffffffff
push ebp
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebp]
push esi
push edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x60], eax
cmp dword [ebp + 0x40], ebx
jne 0x4c9932
cmp byte [eax + 0x1e], bl
jne 0x4c9932
mov ecx, dword [esp + 0xfc]
mov eax, ebp
call fcn.004bfae0
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x4c9932
mov esi, dword [edi + 0x48]
mov ecx, dword [ebp]
call fcn.004846c0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x100]
push ebx
push eax
push 0x6a
push ebp
mov eax, edi
call fcn.00484ea0
xor ecx, ecx
cmp dword [edi + 0x1c], ebx
mov dword [esp + 0x64], eax
setne cl
xor edx, edx
cmp eax, ebx
setne dl
mov eax, edi
mov dword [esp + 0x84], ecx
mov ecx, ebp
push edx
call fcn.00492980
add esp, 0x14
test eax, eax
jne 0x4c9932
push edi
push ebp
call fcn.004c4700
add esp, 8
test eax, eax
jne 0x4c9932
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x60]
add ecx, ecx
add ecx, ecx
call fcn.004878c0
mov ecx, eax
mov dword [esp + 0x48], ecx
cmp ecx, ebx
je 0x4c9932
xor eax, eax
cmp dword [edi + 0xc], ebx
jle 0x4c7bed
lea esp, [esp]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0xc]
jl 0x4c7be0
cmp dword [esp + 0x54], ebx
je 0x4c7c03
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x68], eax
inc eax
mov dword [esp + 0x6c], eax
inc eax
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 0x44]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x20], eax
inc dword [ebp + 0x44]
mov ecx, dword [ebp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x14]
cmp eax, ebx
je 0x4c7c2c
inc ecx
mov dword [ebp + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c7c21
xor eax, eax
mov dword [esp + 0x90], eax
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 + 0x100]
cmp dword [eax], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x18], ebx
jle 0x4c7e83
mov dword [esp + 0x38], ebx
mov esi, edi
jmp 0x4c7ca0
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x38]
mov ebx, dword [edx + eax]
lea edi, [esp + 0x90]
call fcn.004a1cd0
test eax, eax
jne 0x4c9930
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], edi
test edi, edi
jle 0x4c7d85
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + edx + 4]
add eax, edx
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov ecx, dword [esi]
mov al, byte [ecx]
mov edx, dword [esp + 0x2c]
test al, al
je 0x4c7d31
lea esp, [esp]
movzx edi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x553ac8]
cmp al, byte [edi + 0x553ac8]
jne 0x4c7d2d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x4c7d10
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x553ac8]
movzx edx, byte [ecx + 0x553ac8]
sub edx, eax
je 0x4c7d57
inc ebx
add esi, 0x18
cmp ebx, edi
jl 0x4c7d00
mov dword [esp + 0x10], ebx
jmp 0x4c7d81
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
cmp ebx, dword [eax + 8]
jne 0x4c7d76
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
mov dword [ecx + ebx*4], eax
mov esi, dword [esp + 0x14]
cmp ebx, dword [esi + 0xc]
jl 0x4c7e1f
mov edx, dword [esp + 0x100]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x38]
mov esi, dword [eax + ecx + 4]
lea edi, [eax + ecx]
mov cl, byte [esi]
mov eax, esi
mov edx, str._ROWID_
test cl, cl
je 0x4c7dd1
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x553ac8]
cmp cl, byte [ebx + 0x553ac8]
jne 0x4c7dcd
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x4c7db0
mov ebx, dword [esp + 0x10]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x553ac8]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x553ac8]
sub eax, ecx
je 0x4c7e0d
mov edx, str.ROWID
mov ecx, esi
call fcn.0047d220
test eax, eax
je 0x4c7e0d
mov edx, 0x556db4
mov ecx, esi
call fcn.0047d220
test eax, eax
jne 0x4c7ebd
mov ecx, dword [edi]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x30]
shl edx, 4
mov edx, dword [edx + ecx]
mov ecx, dword [esi + 0x10]
push edx
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*8]
mov eax, dword [esi + 4]
push edx
push eax
push 0x17
mov eax, ebp
call fcn.004918c0
add esp, 0x10
cmp eax, 1
je 0x4c9930
cmp eax, 2
jne 0x4c7e64
mov ecx, dword [esp + 0x48]
mov dword [ecx + ebx*4], 0xffffffff
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x100]
add dword [esp + 0x38], 0x14
inc eax
cmp eax, dword [edx]
mov dword [esp + 0x18], eax
jl 0x4c7ca0
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
xor ecx, ecx
cmp eax, ebx
je 0x4c7f8a
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x4c7e94
cmp ecx, ebx
jle 0x4c7f8a
mov esi, dword [esp + 0x60]
lea edi, [ecx*4]
cmp byte [esi + 0x1e], bl
je 0x4c7ee7
mov dword [esp + 0x40], ebx
jmp 0x4c9932
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
push eax
push str.no_such_column:__s
mov esi, ebp
call fcn.0048ef40
add esp, 8
jmp 0x4c9930
cmp byte [esi + 0xda], bl
je 0x4c7f28
movzx eax, word [esi + 0xd8]
cmp edi, eax
jg 0x4c7f28
mov eax, dword [esi + 0xe4]
cmp eax, ebx
je 0x4c7f28
mov ecx, dword [eax]
inc dword [esi + 0xdc]
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0xdc]
cmp ecx, dword [esi + 0xe0]
jle 0x4c7f7e
mov dword [esi + 0xe0], ecx
jmp 0x4c7f7e
lea edx, [edi - 1]
cmp edx, 0x7ffffefe
ja 0x4c7fb7
cmp dword [0x58a148], ebx
je 0x4c7fab
mov eax, dword [0x58a370]
cmp eax, ebx
je 0x4c7f52
push eax
call dword [0x58a190]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, edi
call fcn.004873f0
mov eax, dword [0x58a370]
test eax, eax
je 0x4c7f70
push eax
call dword [0x58a198]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c7f7e
mov byte [esi + 0x1e], 1
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x4c9932
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x14]
cmp esi, ebx
je 0x4c800e
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
cmp dword [esp + 0x4c], ebx
je 0x4c7fbb
inc dword [ebp + 0x48]
jmp 0x4c7ff7
push edi
call dword [0x58a160]
add esp, 4
jmp 0x4c7f76
xor eax, eax
jmp 0x4c7f7a
mov edx, dword [esi + 4]
xor edi, edi
xor eax, eax
cmp edx, ebx
jle 0x4c7ffa
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x48]
lea ecx, [ecx]
mov ebp, dword [ecx]
cmp dword [ebx + ebp*4], 0
jge 0x4c7feb
inc eax
add ecx, 4
cmp eax, edx
jl 0x4c7fd0
mov ebp, dword [esp + 0xf8]
xor ebx, ebx
jmp 0x4c7ffa
mov ebp, dword [esp + 0xf8]
inc dword [ebp + 0x48]
xor ebx, ebx
mov edi, dword [ebp + 0x48]
mov eax, dword [esp + 0x10]
mov dword [eax], edi
mov esi, dword [esi + 0x20]
add eax, 4
mov dword [esp + 0x10], eax
cmp esi, ebx
jne 0x4c7fa0
mov eax, dword [ebp + 0x48]
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0xc]
lea ecx, [eax + 1]
lea eax, [edx + eax + 1]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [ebp + 0x48], eax
cmp dword [esp + 0x4c], ebx
je 0x4c8039
inc ecx
inc eax
mov dword [esp + 0x38], ecx
mov dword [ebp + 0x48], eax
mov edi, dword [esp + 0xf8]
mov ebp, dword [edi + 0xc]
cmp ebp, ebx
jne 0x4c817c
mov esi, dword [edi]
cmp esi, ebx
je 0x4c809f
cmp byte [esi + 0x1e], bl
jne 0x4c824c
cmp byte [esi + 0xda], bl
je 0x4c809f
mov eax, 0xd0
cmp ax, word [esi + 0xd8]
ja 0x4c809f
mov ebp, dword [esi + 0xe4]
cmp ebp, ebx
je 0x4c809f
mov ecx, dword [ebp]
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], ecx
jle 0x4c80f3
mov dword [esi + 0xe0], eax
jmp 0x4c80f3
cmp dword [0x58a148], ebx
je 0x4c8239
mov eax, dword [0x58a370]
cmp eax, ebx
je 0x4c80be
push eax
call dword [0x58a190]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, 0xd0
call fcn.004873f0
mov eax, dword [0x58a370]
test eax, eax
je 0x4c80df
push eax
call dword [0x58a198]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c80f1
cmp esi, ebx
je 0x4c80f1
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x4c824c
push 0xd0
push ebx
push ebp
call fcn.0050aaf0
mov dword [ebp], esi
mov eax, dword [esi + 0x84]
add esp, 0xc
cmp eax, ebx
je 0x4c811a
mov dword [eax + 4], ebp
mov edx, dword [esi + 0x84]
mov dword [ebp + 8], edx
mov dword [ebp + 4], ebx
mov dword [esi + 0x84], ebp
mov dword [ebp + 0x44], 0x26bceaa5
mov dword [edi + 0xc], ebp
cmp ebp, ebx
je 0x4c9932
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8151
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8175
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edi, dword [esp + 0xf8]
cmp byte [edi + 0x13], bl
jne 0x4c8185
mov byte [ebp + 0x6d], 1
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xf8]
call fcn.004ade30
mov ecx, ebx
mov edx, 1
shl edx, cl
xor ebx, ebx
or dword [esi + 0x150], edx
cmp byte [esi + 0x13], bl
jne 0x4c81ef
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c81c7
call fcn.00489f50
test eax, eax
jne 0x4c81ef
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
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 byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov eax, dword [esp + 0x14]
test byte [eax + 0x22], 0x10
je 0x4c8253
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x108]
push ecx
push edx
push eax
mov eax, dword [esp + 0x110]
push eax
mov eax, esi
call fcn.004c2370
add esp, 0x18
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], ebx
jmp 0x4c9930
push 0xd0
call dword [0x58a160]
add esp, 4
jmp 0x4c80e5
xor ebp, ebp
jmp 0x4c8133
cmp dword [esp + 0x74], ebx
je 0x4c8276
mov ecx, dword [esi + 0x1ec]
mov edx, dword [eax + 4]
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ecx
mov dword [esi + 0x1ec], edx
cmp dword [esp + 0x54], ebx
je 0x4c84b5
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4c829a
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c82c6
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x6c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x50]
mov byte [eax], 0x75
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4c82e4
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8310
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x68]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x50]
mov byte [eax], 0x75
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c832d
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c832d
mov dword [esp + 0x10], 1
jmp 0x4c8355
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x10], esi
mov eax, ebp
call fcn.0048a130
mov edx, dword [ebp + 0xc]
mov esi, eax
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x70]
push esi
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x114]
push 1
push eax
push 0x6a
push ecx
push edx
mov dword [esp + 0x74], esi
call fcn.004ca6f0
add esp, 0x30
test eax, eax
jne 0x4c9913
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ecx
mov dword [esp + 0x50], ecx
jg 0x4c83dc
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c83d8
mov eax, 1
jmp 0x4c8402
mov ecx, dword [esp + 0x50]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, ecx
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x80]
push edx
mov edx, dword [esp + 0x70]
push esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x114]
push 2
push ecx
push 0x6a
push edx
push eax
call fcn.004ca6f0
add esp, 0x30
test eax, eax
jne 0x4c9913
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8478
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c8478
mov esi, 1
jmp 0x4c849c
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x60
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov dword [esp + 0x50], esi
jle 0x4c84b5
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x74], ebx
je 0x4c84dd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0xfc]
push ecx
push edx
push eax
call fcn.004c3ee0
add esp, 0x10
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0xf8]
lea edi, [esp + 0x90]
call fcn.004a1cd0
test eax, eax
jne 0x4c9911
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x4c8512
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c853e
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
mov byte [eax], 0x77
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4c8540
xor ebx, ebx
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0xfc]
push 4
push ebx
push edx
push eax
push esi
call fcn.004b3540
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c9911
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov ecx, eax
movzx edx, byte [ecx + 6]
mov dword [esp + 0x28], edx
jg 0x4c8585
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c85b5
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
mov byte [eax], 0x28
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4c85b7
xor ebx, ebx
mov edi, dword [esp + 0x28]
cmp edi, ebx
jne 0x4c85db
mov edx, dword [esp + 0x3c]
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
push edx
push eax
mov dword [esp + 0x3c], eax
push 0x33
mov eax, ebp
call fcn.0048a0d0
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.0048d560
mov ecx, dword [esp + 0x64]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x4c8612
cmp dword [esi + 0x1e8], ebx
jne 0x4c8612
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
push eax
mov dword [esp + 0x5c], eax
push ebx
push 0x30
mov eax, ebp
call fcn.0048a0d0
add esp, 0xc
cmp dword [esp + 0x74], ebx
jne 0x4c8776
cmp edi, ebx
mov edi, dword [esp + 0x14]
jne 0x4c863c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 0xa
push edx
push eax
mov eax, edi
mov ecx, esi
call fcn.00499e50
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0x108], ecx
je 0x4c8663
mov eax, dword [edi + 0x14]
mov dword [esp + 0x70], ebx
cmp eax, ebx
je 0x4c866b
cmp byte [eax + 0x18], cl
je 0x4c8663
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c8655
jmp 0x4c866b
mov dword [esp + 0x70], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4c8776
mov edi, edi
cmp dword [esp + 0x70], ebx
jne 0x4c8697
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c875f
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0xf8]
push esi
push eax
call fcn.004a3410
mov ecx, dword [esi + 0x14]
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
jg 0x4c86d1
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c86d1
mov esi, 1
jmp 0x4c8709
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
lea ecx, [ecx + edx + 1]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x4c8751
cmp byte [edi + 0x1e], bl
jne 0x4c8751
cmp esi, ebx
jge 0x4c8722
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.0048a410
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x4c8748
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4c875f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x4c875f
mov ecx, dword [esp + 0x10]
mov eax, 0xfffffff0
call fcn.0048a410
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x4c8680
cmp dword [esp + 0x54], ebx
je 0x4c8795
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x4c8795
mov ecx, dword [esp + 0x44]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov dword [eax], ecx
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x28], ebx
je 0x4c8841
cmp dword [ebp + 0x10], esi
jg 0x4c87bc
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c87bc
mov dword [esp + 0x10], 1
jmp 0x4c87e8
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x48
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x10], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8802
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c8802
mov esi, 1
jmp 0x4c8826
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x60
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov dword [esp + 0x44], esi
jle 0x4c888b
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4c888b
cmp dword [ebp + 0x10], esi
jg 0x4c885b
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c885b
mov dword [esp + 0x44], 1
jmp 0x4c888b
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x32
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x44], esi
cmp dword [esp + 0x54], ebx
je 0x4c8fc2
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c88a8
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c88d8
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x2e
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0xf8]
mov cl, byte [eax + 0x15]
cmp cl, bl
jne 0x4c88ee
inc dword [eax + 0x48]
mov edx, dword [eax + 0x48]
jmp 0x4c88fa
dec cl
mov byte [eax + 0x15], cl
movzx ecx, cl
mov edx, dword [eax + ecx*4 + 0x18]
mov cl, byte [eax + 0x15]
mov dword [esp + 0x34], edx
cmp cl, bl
jne 0x4c8911
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
jmp 0x4c8921
dec cl
mov byte [eax + 0x15], cl
movzx ecx, cl
mov edx, dword [eax + ecx*4 + 0x18]
mov dword [esp + 0x30], edx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8934
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8960
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov byte [eax], 0x28
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x7c], ebx
jne 0x4c8994
cmp dword [ebp + 0x10], esi
jg 0x4c8979
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c89d0
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x77
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
jmp 0x4c89c1
cmp dword [ebp + 0x10], esi
jg 0x4c89a4
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c89d0
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x2c
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov byte [eax + 3], bl
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c89e3
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8a13
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x6c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov byte [eax], 0x6e
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x4c], ebx
je 0x4c8b2f
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xf8]
mov esi, dword [eax + 0xc]
push edi
push ecx
push eax
call fcn.004b0820
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, edi
je 0x4c8a95
mov edx, dword [esp + 0xf8]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x4c8a95
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c8a69
call fcn.00489f50
test eax, eax
jne 0x4c8a95
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov byte [eax], 9
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov edx, dword [esp + 0x64]
cmp byte [edx], 0x84
je 0x4c8b04
mov eax, dword [esp + 0xf8]
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c8aca
mov edi, esi
call fcn.00489f50
test eax, eax
jne 0x4c8af6
mov eax, dword [esp + 0x2c]
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov byte [eax], 0x14
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 byte [eax + 1], bl
mov byte [esi + 0x6e], bl
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x18], ecx
mov byte [eax], 0x84
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8b17
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8b6e
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x26
mov dword [eax + 8], ebx
jmp 0x4c8b5c
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8b42
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8b6e
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov byte [eax], 0x28
mov dword [eax + 8], edx
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [esp + 0xf8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x38]
cmp ecx, edx
mov edi, dword [esi + 0x3c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
jg 0x4c8bcc
lea ecx, [esi + 0x70]
xor eax, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
cmp ecx, edi
jl 0x4c8bad
lea edi, [edi + edx - 1]
cmp ecx, edi
jle 0x4c8bc8
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x18
inc eax
cmp eax, 0xa
jl 0x4c8b97
mov eax, dword [esp + 0x28]
add edi, eax
sub edx, eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
jmp 0x4c8bdb
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x48]
lea edx, [eax + 1]
add ecx, eax
mov dword [esp + 0x24], edx
mov dword [esi + 0x48], ecx
mov eax, dword [esp + 0x14]
xor esi, esi
cmp dword [eax + 0xc], ebx
mov dword [esp + 0x18], esi
jle 0x4c8e03
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [edx + 8]
jne 0x4c8c2e
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8c16
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8de9
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x28]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov dword [eax + 8], edx
jmp 0x4c8dd4
cmp esi, 0x20
mov eax, dword [esp + 0x48]
mov eax, dword [eax + esi*4]
mov edx, dword [esp + 0x78]
jge 0x4c8c4b
mov edi, 1
mov ecx, esi
shl edi, cl
test edx, edi
jne 0x4c8c54
cmp edx, 0xffffffff
jne 0x4c8dae
cmp eax, ebx
jge 0x4c8cb1
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c8c73
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8c9f
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov ecx, dword [esp + 0x14]
mov eax, esi
mov edx, ebp
call fcn.004a6830
jmp 0x4c8de9
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0xc]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0xf8]
mov esi, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
push edi
push eax
push ecx
mov dword [esp + 0x38], eax
call fcn.004b0820
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp eax, edi
je 0x4c8d39
mov eax, dword [esp + 0xf8]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x4c8d39
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x4c8d0d
call fcn.00489f50
test eax, eax
jne 0x4c8d39
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov byte [eax], 9
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 byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0x84
je 0x4c8de9
mov eax, dword [esp + 0xf8]
inc dword [eax + 0x48]
mov ecx, dword [eax + 0x48]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
jg 0x4c8d72
mov edi, esi
call fcn.00489f50
test eax, eax
jne 0x4c8d9e
mov eax, dword [esp + 0x1c]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x10]
mov byte [eax], 0x14
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 byte [eax + 1], bl
mov byte [esi + 0x6e], bl
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x18], ecx
mov byte [eax], 0x84
jmp 0x4c8de9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8dc1
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8de9
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x28]
inc dword [ebp + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov byte [eax], 0x77
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x28]
inc esi
cmp esi, dword [edx + 0xc]
mov dword [esp + 0x18], esi
jl 0x4c8bf6
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], ecx
jg 0x4c8e21
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8e51
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x4f
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x74], ebx
jne 0x4c8e9e
push ebp
mov eax, esi
call fcn.0048c740
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
lea ecx, [eax + edx - 1]
mov eax, dword [esp + 0xfc]
add esp, 4
mov dword [esp + 0x1c], ecx
add eax, 0x68
mov edx, 0xa
mov ecx, dword [eax + 8]
cmp ecx, dword [esp + 0x24]
jl 0x4c8e96
cmp ecx, dword [esp + 0x1c]
jg 0x4c8e96
mov byte [eax], 1
add eax, 0x18
sub edx, 1
jne 0x4c8e84
mov ecx, dword [esp + 0xf8]
mov eax, dword [esi + 0xc]
cmp eax, dword [ecx + 0x38]
jle 0x4c8eb7
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8eca
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8efc
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x6e
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4c8f00
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0xf8]
cmp edi, ebx
je 0x4c8f3c
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c8f3c
xor eax, eax
lea ecx, [esi + 0x60]
jmp 0x4c8f20
cmp dword [ecx + 0x10], edi
je 0x4c9125
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c8f20
movzx edx, dl
mov dword [esi + edx*4 + 0x18], edi
inc byte [esi + 0x15]
cmp dword [esp + 0x30], ebx
je 0x4c8f6f
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c8f6f
mov edi, dword [esp + 0x30]
xor eax, eax
lea ecx, [esi + 0x60]
cmp dword [ecx + 0x10], edi
je 0x4c912e
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c8f53
movzx eax, dl
mov dword [esi + eax*4 + 0x18], edi
inc byte [esi + 0x15]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8f82
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c8fad
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x8c]
mov byte [eax], 0x60
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jle 0x4c8fc2
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x74], ebx
jne 0x4c9350
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8fdf
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c900f
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x2e
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x4c], ebx
je 0x4c90bc
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0xf8]
push esi
push edx
push edi
call fcn.004b0820
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x4c9081
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x4c9081
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4c9059
call fcn.00489f50
test eax, eax
jne 0x4c9081
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov byte [eax], 9
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c9094
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c90bc
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x26
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edx, dword [esp + 0x14]
cmp dword [edx + 0xc], ebx
mov dword [esp + 0x18], ebx
jle 0x4c9228
mov esi, dword [esp + 0x38]
inc esi
mov ecx, ebx
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 8]
jne 0x4c9137
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c90fc
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c9211
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x77
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4c9211
mov byte [ecx + 9], 1
jmp 0x4c8f3c
mov byte [ecx + 9], 1
jmp 0x4c8f6f
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jge 0x4c9198
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c9161
mov edi, ebp
call fcn.00489f50
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x4c9189
mov eax, dword [esp + 0x1c]
inc dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax], 3
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, ecx
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.004a6830
jmp 0x4c9211
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
push esi
push eax
mov eax, dword [esp + 0x100]
push eax
call fcn.004b0820
add esp, 0xc
mov dword [esp + 0x5c], eax
cmp eax, esi
je 0x4c9211
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0xc]
cmp edi, ebx
je 0x4c9211
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c91e9
call fcn.00489f50
test eax, eax
jne 0x4c9211
mov eax, dword [esp + 0x1c]
inc dword [edi + 0xc]
mov ecx, dword [esp + 0x5c]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 9
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x6e], bl
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
inc esi
cmp ecx, dword [edx + 0xc]
mov dword [esp + 0x18], ecx
jl 0x4c90d4
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x4c]
push ebx
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x44]
push 1
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x114]
push edx
push eax
push ecx
call fcn.004b5220
mov esi, dword [ebp + 0xc]
add esp, 0x28
cmp dword [ebp + 0x10], esi
jg 0x4c927e
mov edi, ebp
call fcn.00489f50
test eax, eax
je 0x4c927e
mov dword [esp + 0x5c], 1
jmp 0x4c92ae
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov byte [eax], 0x2e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xf8]
push esi
push eax
mov eax, dword [esp + 0x1c]
push ecx
call fcn.004b2190
add esp, 0xc
cmp dword [esp + 0x4c], ebx
je 0x4c9315
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c92e9
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c9315
mov eax, dword [esp + 0x1c]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x5b
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jle 0x4c932a
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push ebx
push ebx
push 0xffffffffffffffff
push 1
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
call fcn.0049a6a0
add esp, 0x24
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c93a9
mov ecx, dword [esp + 0xf8]
cmp dword [ecx + 0x1e8], ebx
jne 0x4c93a9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c937c
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c93a9
mov eax, dword [ebp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x58]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x2a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x54], ebx
je 0x4c9402
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c93c2
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c93ed
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x80]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x4c9402
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c9415
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c943f
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x44]
mov byte [eax], 0x60
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x4c9443
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x4c9454
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4c94d0
cmp dword [esp + 0x70], ebx
jne 0x4c947a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c94c1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c948d
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c94bd
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x18]
lea edx, [edx + ecx + 1]
mov byte [eax], 0x21
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x4c9467
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c94e3
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c950b
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x21
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
cmp dword [esp + 0x54], ebx
je 0x4c9587
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c9524
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c954c
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x68]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x21
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c955f
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c9587
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x6c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x21
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 byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [esp + 0xf8]
cmp byte [esi + 0x13], bl
jne 0x4c95a4
cmp dword [esi + 0x1e8], ebx
jne 0x4c95a4
push esi
call fcn.0049a2b0
add esp, 4
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c9911
cmp dword [esi + 0x1e8], 0
jne 0x4c9911
cmp byte [esi + 0x13], 0
jne 0x4c9911
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c95dc
mov edi, ebp
call fcn.00489f50
test eax, eax
jne 0x4c960b
mov eax, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x58]
lea eax, [eax + ecx*4]
mov edx, 1
add dword [ebp + 0xc], edx
xor ecx, ecx
mov byte [eax], 0x5a
mov byte [eax + 3], cl
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
push 1
mov ebx, ebp
call fcn.00490680
mov ecx, dword [ebp]
add esp, 4
cmp byte [ecx + 0x1e], 0
jne 0x4c9911
mov ebp, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4c9633
mov eax, dword [ebx + 0x48]
jmp 0x4c9638
mov eax, 0x3b9aca00
xor ecx, ecx
mov dword [esp + 0x58], ecx
test eax, eax
jl 0x4c9654
cmp byte [ecx + str.rows_updated], 0
je 0x4c9650
inc ecx
cmp ecx, eax
jle 0x4c9642
mov dword [esp + 0x58], ecx
movzx ecx, word [ebp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], 0x202
cmp edx, fcn.0047cf30
jne 0x4c97b9
test ecx, 0x2420
je 0x4c9761
test ecx, 0x2000
je 0x4c9733
mov esi, dword [ebp]
test esi, esi
je 0x4c9728
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c9728
push 0x40
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.0050aaf0
lea edx, [esp + 0xc0]
mov ecx, 1
push edx
mov word [esp + 0xe8], cx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xc4], esi
call edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
add esp, 0x10
test eax, eax
je 0x4c970f
test ecx, ecx
je 0x4c970f
cmp ecx, dword [eax + 0xe8]
jb 0x4c970f
cmp ecx, dword [eax + 0xec]
jae 0x4c970f
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c9718
push ecx
call fcn.0047ceb0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.00481b40
add esp, 4
jmp 0x4c9761
test ecx, 0x400
je 0x4c9754
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c9754
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c9761
test cl, 0x20
je 0x4c9761
mov edi, dword [ebp]
call fcn.0047f670
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c9795
test ecx, ecx
je 0x4c9795
cmp ecx, dword [eax + 0xe8]
jb 0x4c9795
cmp ecx, dword [eax + 0xec]
jae 0x4c9795
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c979e
push ecx
call fcn.0047ceb0
add esp, 4
mov eax, str.rows_updated
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x20], 0
jmp 0x4c98fe
test ecx, 0x2420
je 0x4c98ad
test ecx, 0x2000
je 0x4c987f
mov esi, dword [ebp]
test esi, esi
je 0x4c9874
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c9874
push 0x40
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.0050aaf0
lea edx, [esp + 0xc0]
mov ecx, 1
push edx
mov word [esp + 0xe8], cx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xc4], esi
call edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
add esp, 0x10
test eax, eax
je 0x4c985b
test ecx, ecx
je 0x4c985b
cmp ecx, dword [eax + 0xe8]
jb 0x4c985b
cmp ecx, dword [eax + 0xec]
jae 0x4c985b
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c9864
push ecx
call fcn.0047ceb0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.00481b40
add esp, 4
jmp 0x4c98ad
test ecx, 0x400
je 0x4c98a0
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c98a0
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c98ad
test cl, 0x20
je 0x4c98ad
mov edi, dword [ebp]
call fcn.0047f670
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c98e1
test ecx, ecx
je 0x4c98e1
cmp ecx, dword [eax + 0xe8]
jb 0x4c98e1
cmp ecx, dword [eax + 0xec]
jae 0x4c98e1
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c98ea
push ecx
call fcn.0047ceb0
add esp, 4
xor eax, eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x14], str.rows_updated
mov eax, 0xa02
mov ecx, dword [esp + 0x58]
mov dword [ebp + 0x18], ecx
mov word [ebp + 0x1c], ax
mov byte [ebp + 0x1f], 1
mov byte [ebp + 0x1e], 3
xor ebx, ebx
cmp dword [esp + 0x88], ebx
je 0x4c9930
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
mov dword [eax + 0x1ec], edx
xor ebx, ebx
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x40]
cmp esi, ebx
je 0x4c996b
cmp eax, ebx
je 0x4c996b
cmp eax, dword [esi + 0xe8]
jb 0x4c996b
cmp eax, dword [esi + 0xec]
jae 0x4c996b
mov ecx, dword [esi + 0xe4]
mov dword [eax], ecx
or ebp, 0xffffffff
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c9977
push eax
call fcn.0047ceb0
add esp, 4
or ebp, 0xffffffff
mov eax, dword [esp + 0x48]
cmp esi, ebx
je 0x4c99a9
cmp eax, ebx
je 0x4c99a9
cmp eax, dword [esi + 0xe8]
jb 0x4c99a9
cmp eax, dword [esi + 0xec]
jae 0x4c99a9
mov edx, dword [esi + 0xe4]
mov dword [eax], edx
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c99b2
push eax
call fcn.0047ceb0
add esp, 4
mov eax, dword [esp + 0xfc]
push eax
mov eax, esi
call fcn.00483d30
mov ebx, dword [esp + 0x104]
add esp, 4
call fcn.00482f10
mov edi, dword [esp + 0x104]
test edi, edi
je 0x4c9a34
push edi
push esi
call fcn.0048af70
mov cx, word [edi + 2]
mov edx, 0x8000
and cx, dx
mov eax, edx
add esp, 8
cmp cx, ax
je 0x4c9a34
test esi, esi
je 0x4c9a2b
cmp edi, dword [esi + 0xe8]
jb 0x4c9a2b
cmp edi, dword [esi + 0xec]
jae 0x4c9a2b
mov ecx, dword [esi + 0xe4]
mov dword [edi], ecx
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret
push edi
call fcn.0047ceb0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret