Function at 0x4c1f20
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 0x4c3d92
cmp byte [eax + 0x1e], bl
jne 0x4c3d92
mov ecx, dword [esp + 0xfc]
mov eax, ebp
call fcn.004b9f40
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x4c3d92
mov esi, dword [edi + 0x48]
mov ecx, dword [ebp]
call fcn.0047eb30
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x100]
push ebx
push eax
push 0x6a
push ebp
mov eax, edi
call fcn.0047f300
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.0048cde0
add esp, 0x14
test eax, eax
jne 0x4c3d92
push edi
push ebp
call fcn.004beb60
add esp, 8
test eax, eax
jne 0x4c3d92
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x60]
add ecx, ecx
add ecx, ecx
call fcn.00481d20
mov ecx, eax
mov dword [esp + 0x48], ecx
cmp ecx, ebx
je 0x4c3d92
xor eax, eax
cmp dword [edi + 0xc], ebx
jle 0x4c204d
lea esp, [esp]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0xc]
jl 0x4c2040
cmp dword [esp + 0x54], ebx
je 0x4c2063
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 0x4c208c
inc ecx
mov dword [ebp + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c2081
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 0x4c22e3
mov dword [esp + 0x38], ebx
mov esi, edi
jmp 0x4c2100
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.0049c130
test eax, eax
jne 0x4c3d90
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], edi
test edi, edi
jle 0x4c21e5
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 0x4c2191
lea esp, [esp]
movzx edi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x54a780]
cmp al, byte [edi + 0x54a780]
jne 0x4c218d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x4c2170
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x54a780]
movzx edx, byte [ecx + 0x54a780]
sub edx, eax
je 0x4c21b7
inc ebx
add esi, 0x18
cmp ebx, edi
jl 0x4c2160
mov dword [esp + 0x10], ebx
jmp 0x4c21e1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
cmp ebx, dword [eax + 8]
jne 0x4c21d6
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 0x4c227f
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 0x4c2231
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x54a780]
cmp cl, byte [ebx + 0x54a780]
jne 0x4c222d
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x4c2210
mov ebx, dword [esp + 0x10]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x54a780]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x54a780]
sub eax, ecx
je 0x4c226d
mov edx, str.ROWID
mov ecx, esi
call fcn.00477680
test eax, eax
je 0x4c226d
mov edx, 0x54da6c
mov ecx, esi
call fcn.00477680
test eax, eax
jne 0x4c231d
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.0048bd20
add esp, 0x10
cmp eax, 1
je 0x4c3d90
cmp eax, 2
jne 0x4c22c4
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 0x4c2100
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
xor ecx, ecx
cmp eax, ebx
je 0x4c23ea
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x4c22f4
cmp ecx, ebx
jle 0x4c23ea
mov esi, dword [esp + 0x60]
lea edi, [ecx*4]
cmp byte [esi + 0x1e], bl
je 0x4c2347
mov dword [esp + 0x40], ebx
jmp 0x4c3d92
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.004893a0
add esp, 8
jmp 0x4c3d90
cmp byte [esi + 0xda], bl
je 0x4c2388
movzx eax, word [esi + 0xd8]
cmp edi, eax
jg 0x4c2388
mov eax, dword [esi + 0xe4]
cmp eax, ebx
je 0x4c2388
mov ecx, dword [eax]
inc dword [esi + 0xdc]
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0xdc]
cmp ecx, dword [esi + 0xe0]
jle 0x4c23de
mov dword [esi + 0xe0], ecx
jmp 0x4c23de
lea edx, [edi - 1]
cmp edx, 0x7ffffefe
ja 0x4c2417
cmp dword [0x57f068], ebx
je 0x4c240b
mov eax, dword [0x57f290]
cmp eax, ebx
je 0x4c23b2
push eax
call dword [0x57f0b0]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, edi
call fcn.00481850
mov eax, dword [0x57f290]
test eax, eax
je 0x4c23d0
push eax
call dword [0x57f0b8]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c23de
mov byte [esi + 0x1e], 1
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x4c3d92
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x14]
cmp esi, ebx
je 0x4c246e
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
cmp dword [esp + 0x4c], ebx
je 0x4c241b
inc dword [ebp + 0x48]
jmp 0x4c2457
push edi
call dword [0x57f080]
add esp, 4
jmp 0x4c23d6
xor eax, eax
jmp 0x4c23da
mov edx, dword [esi + 4]
xor edi, edi
xor eax, eax
cmp edx, ebx
jle 0x4c245a
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x48]
lea ecx, [ecx]
mov ebp, dword [ecx]
cmp dword [ebx + ebp*4], 0
jge 0x4c244b
inc eax
add ecx, 4
cmp eax, edx
jl 0x4c2430
mov ebp, dword [esp + 0xf8]
xor ebx, ebx
jmp 0x4c245a
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 0x4c2400
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 0x4c2499
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 0x4c25dc
mov esi, dword [edi]
cmp esi, ebx
je 0x4c24ff
cmp byte [esi + 0x1e], bl
jne 0x4c26ac
cmp byte [esi + 0xda], bl
je 0x4c24ff
mov eax, 0xd0
cmp ax, word [esi + 0xd8]
ja 0x4c24ff
mov ebp, dword [esi + 0xe4]
cmp ebp, ebx
je 0x4c24ff
mov ecx, dword [ebp]
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], ecx
jle 0x4c2553
mov dword [esi + 0xe0], eax
jmp 0x4c2553
cmp dword [0x57f068], ebx
je 0x4c2699
mov eax, dword [0x57f290]
cmp eax, ebx
je 0x4c251e
push eax
call dword [0x57f0b0]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, 0xd0
call fcn.00481850
mov eax, dword [0x57f290]
test eax, eax
je 0x4c253f
push eax
call dword [0x57f0b8]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c2551
cmp esi, ebx
je 0x4c2551
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x4c26ac
push 0xd0
push ebx
push ebp
call fcn.00502e80
mov dword [ebp], esi
mov eax, dword [esi + 0x84]
add esp, 0xc
cmp eax, ebx
je 0x4c257a
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 0x4c3d92
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c25b1
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c25d5
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 0x4c25e5
mov byte [ebp + 0x6d], 1
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xf8]
call fcn.004a8290
mov ecx, ebx
mov edx, 1
shl edx, cl
xor ebx, ebx
or dword [esi + 0x150], edx
cmp byte [esi + 0x13], bl
jne 0x4c264f
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c2627
call fcn.004843b0
test eax, eax
jne 0x4c264f
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 0x4c26b3
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.004bc7d0
add esp, 0x18
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], ebx
jmp 0x4c3d90
push 0xd0
call dword [0x57f080]
add esp, 4
jmp 0x4c2545
xor ebp, ebp
jmp 0x4c2593
cmp dword [esp + 0x74], ebx
je 0x4c26d6
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 0x4c2915
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4c26fa
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2726
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 0x4c2744
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2770
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 0x4c278d
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c278d
mov dword [esp + 0x10], 1
jmp 0x4c27b5
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.00484590
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.004c4b50
add esp, 0x30
test eax, eax
jne 0x4c3d73
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ecx
mov dword [esp + 0x50], ecx
jg 0x4c283c
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c2838
mov eax, 1
jmp 0x4c2862
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.004c4b50
add esp, 0x30
test eax, eax
jne 0x4c3d73
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c28d8
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c28d8
mov esi, 1
jmp 0x4c28fc
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 0x4c2915
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x74], ebx
je 0x4c293d
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.004be340
add esp, 0x10
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0xf8]
lea edi, [esp + 0x90]
call fcn.0049c130
test eax, eax
jne 0x4c3d71
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x4c2972
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c299e
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 0x4c29a0
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.004ad9a0
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c3d71
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov ecx, eax
movzx edx, byte [ecx + 6]
mov dword [esp + 0x28], edx
jg 0x4c29e5
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2a15
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 0x4c2a17
xor ebx, ebx
mov edi, dword [esp + 0x28]
cmp edi, ebx
jne 0x4c2a3b
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.00484530
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.004879c0
mov ecx, dword [esp + 0x64]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x4c2a72
cmp dword [esi + 0x1e8], ebx
jne 0x4c2a72
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.00484530
add esp, 0xc
cmp dword [esp + 0x74], ebx
jne 0x4c2bd6
cmp edi, ebx
mov edi, dword [esp + 0x14]
jne 0x4c2a9c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 0xa
push edx
push eax
mov eax, edi
mov ecx, esi
call fcn.004942b0
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0x108], ecx
je 0x4c2ac3
mov eax, dword [edi + 0x14]
mov dword [esp + 0x70], ebx
cmp eax, ebx
je 0x4c2acb
cmp byte [eax + 0x18], cl
je 0x4c2ac3
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c2ab5
jmp 0x4c2acb
mov dword [esp + 0x70], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4c2bd6
mov edi, edi
cmp dword [esp + 0x70], ebx
jne 0x4c2af7
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c2bbf
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0xf8]
push esi
push eax
call fcn.0049d870
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 0x4c2b31
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c2b31
mov esi, 1
jmp 0x4c2b69
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 0x4c2bb1
cmp byte [edi + 0x1e], bl
jne 0x4c2bb1
cmp esi, ebx
jge 0x4c2b82
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.00484870
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x4c2ba8
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4c2bbf
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x4c2bbf
mov ecx, dword [esp + 0x10]
mov eax, 0xfffffff0
call fcn.00484870
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x4c2ae0
cmp dword [esp + 0x54], ebx
je 0x4c2bf5
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x4c2bf5
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 0x4c2ca1
cmp dword [ebp + 0x10], esi
jg 0x4c2c1c
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c2c1c
mov dword [esp + 0x10], 1
jmp 0x4c2c48
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 0x4c2c62
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c2c62
mov esi, 1
jmp 0x4c2c86
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 0x4c2ceb
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4c2ceb
cmp dword [ebp + 0x10], esi
jg 0x4c2cbb
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c2cbb
mov dword [esp + 0x44], 1
jmp 0x4c2ceb
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 0x4c3422
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c2d08
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2d38
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 0x4c2d4e
inc dword [eax + 0x48]
mov edx, dword [eax + 0x48]
jmp 0x4c2d5a
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 0x4c2d71
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
jmp 0x4c2d81
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 0x4c2d94
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2dc0
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 0x4c2df4
cmp dword [ebp + 0x10], esi
jg 0x4c2dd9
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2e30
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 0x4c2e21
cmp dword [ebp + 0x10], esi
jg 0x4c2e04
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2e30
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 0x4c2e43
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2e73
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 0x4c2f8f
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.004aac80
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, edi
je 0x4c2ef5
mov edx, dword [esp + 0xf8]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x4c2ef5
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c2ec9
call fcn.004843b0
test eax, eax
jne 0x4c2ef5
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 0x4c2f64
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 0x4c2f2a
mov edi, esi
call fcn.004843b0
test eax, eax
jne 0x4c2f56
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 0x4c2f77
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2fce
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 0x4c2fbc
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c2fa2
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c2fce
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 0x4c302c
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 0x4c300d
lea edi, [edi + edx - 1]
cmp ecx, edi
jle 0x4c3028
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x18
inc eax
cmp eax, 0xa
jl 0x4c2ff7
mov eax, dword [esp + 0x28]
add edi, eax
sub edx, eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
jmp 0x4c303b
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 0x4c3263
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [edx + 8]
jne 0x4c308e
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3076
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3249
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 0x4c3234
cmp esi, 0x20
mov eax, dword [esp + 0x48]
mov eax, dword [eax + esi*4]
mov edx, dword [esp + 0x78]
jge 0x4c30ab
mov edi, 1
mov ecx, esi
shl edi, cl
test edx, edi
jne 0x4c30b4
cmp edx, 0xffffffff
jne 0x4c320e
cmp eax, ebx
jge 0x4c3111
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c30d3
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c30ff
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.004a0c90
jmp 0x4c3249
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.004aac80
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp eax, edi
je 0x4c3199
mov eax, dword [esp + 0xf8]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x4c3199
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x4c316d
call fcn.004843b0
test eax, eax
jne 0x4c3199
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 0x4c3249
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 0x4c31d2
mov edi, esi
call fcn.004843b0
test eax, eax
jne 0x4c31fe
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 0x4c3249
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3221
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3249
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 0x4c3056
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 0x4c3281
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c32b1
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 0x4c32fe
push ebp
mov eax, esi
call fcn.00486ba0
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 0x4c32f6
cmp ecx, dword [esp + 0x1c]
jg 0x4c32f6
mov byte [eax], 1
add eax, 0x18
sub edx, 1
jne 0x4c32e4
mov ecx, dword [esp + 0xf8]
mov eax, dword [esi + 0xc]
cmp eax, dword [ecx + 0x38]
jle 0x4c3317
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 0x4c332a
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c335c
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 0x4c3360
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0xf8]
cmp edi, ebx
je 0x4c339c
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c339c
xor eax, eax
lea ecx, [esi + 0x60]
jmp 0x4c3380
cmp dword [ecx + 0x10], edi
je 0x4c3585
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c3380
movzx edx, dl
mov dword [esi + edx*4 + 0x18], edi
inc byte [esi + 0x15]
cmp dword [esp + 0x30], ebx
je 0x4c33cf
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c33cf
mov edi, dword [esp + 0x30]
xor eax, eax
lea ecx, [esi + 0x60]
cmp dword [ecx + 0x10], edi
je 0x4c358e
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c33b3
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 0x4c33e2
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c340d
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 0x4c3422
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x74], ebx
jne 0x4c37b0
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c343f
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c346f
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 0x4c351c
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0xf8]
push esi
push edx
push edi
call fcn.004aac80
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x4c34e1
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x4c34e1
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4c34b9
call fcn.004843b0
test eax, eax
jne 0x4c34e1
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 0x4c34f4
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c351c
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 0x4c3688
mov esi, dword [esp + 0x38]
inc esi
mov ecx, ebx
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 8]
jne 0x4c3597
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c355c
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3671
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 0x4c3671
mov byte [ecx + 9], 1
jmp 0x4c339c
mov byte [ecx + 9], 1
jmp 0x4c33cf
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jge 0x4c35f8
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c35c1
mov edi, ebp
call fcn.004843b0
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x4c35e9
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.004a0c90
jmp 0x4c3671
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.004aac80
add esp, 0xc
mov dword [esp + 0x5c], eax
cmp eax, esi
je 0x4c3671
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0xc]
cmp edi, ebx
je 0x4c3671
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c3649
call fcn.004843b0
test eax, eax
jne 0x4c3671
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 0x4c3534
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.004af680
mov esi, dword [ebp + 0xc]
add esp, 0x28
cmp dword [ebp + 0x10], esi
jg 0x4c36de
mov edi, ebp
call fcn.004843b0
test eax, eax
je 0x4c36de
mov dword [esp + 0x5c], 1
jmp 0x4c370e
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.004ac5f0
add esp, 0xc
cmp dword [esp + 0x4c], ebx
je 0x4c3775
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c3749
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3775
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 0x4c378a
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.00494b00
add esp, 0x24
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c3809
mov ecx, dword [esp + 0xf8]
cmp dword [ecx + 0x1e8], ebx
jne 0x4c3809
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c37dc
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3809
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 0x4c3862
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3822
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c384d
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 0x4c3862
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 0x4c3875
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c389f
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 0x4c38a3
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x4c38b4
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 0x4c3930
cmp dword [esp + 0x70], ebx
jne 0x4c38da
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c3921
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c38ed
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c391d
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 0x4c38c7
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3943
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c396b
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 0x4c39e7
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3984
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c39ac
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 0x4c39bf
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c39e7
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 0x4c3a04
cmp dword [esi + 0x1e8], ebx
jne 0x4c3a04
push esi
call fcn.00494710
add esp, 4
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c3d71
cmp dword [esi + 0x1e8], 0
jne 0x4c3d71
cmp byte [esi + 0x13], 0
jne 0x4c3d71
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c3a3c
mov edi, ebp
call fcn.004843b0
test eax, eax
jne 0x4c3a6b
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.0048aae0
mov ecx, dword [ebp]
add esp, 4
cmp byte [ecx + 0x1e], 0
jne 0x4c3d71
mov ebp, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4c3a93
mov eax, dword [ebx + 0x48]
jmp 0x4c3a98
mov eax, 0x3b9aca00
xor ecx, ecx
mov dword [esp + 0x58], ecx
test eax, eax
jl 0x4c3ab4
cmp byte [ecx + str.rows_updated], 0
je 0x4c3ab0
inc ecx
cmp ecx, eax
jle 0x4c3aa2
mov dword [esp + 0x58], ecx
movzx ecx, word [ebp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], 0x202
cmp edx, fcn.00477390
jne 0x4c3c19
test ecx, 0x2420
je 0x4c3bc1
test ecx, 0x2000
je 0x4c3b93
mov esi, dword [ebp]
test esi, esi
je 0x4c3b88
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c3b88
push 0x40
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.00502e80
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 0x4c3b6f
test ecx, ecx
je 0x4c3b6f
cmp ecx, dword [eax + 0xe8]
jb 0x4c3b6f
cmp ecx, dword [eax + 0xec]
jae 0x4c3b6f
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c3b78
push ecx
call fcn.00477310
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.0047bfa0
add esp, 4
jmp 0x4c3bc1
test ecx, 0x400
je 0x4c3bb4
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c3bb4
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c3bc1
test cl, 0x20
je 0x4c3bc1
mov edi, dword [ebp]
call fcn.00479ad0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c3bf5
test ecx, ecx
je 0x4c3bf5
cmp ecx, dword [eax + 0xe8]
jb 0x4c3bf5
cmp ecx, dword [eax + 0xec]
jae 0x4c3bf5
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c3bfe
push ecx
call fcn.00477310
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 0x4c3d5e
test ecx, 0x2420
je 0x4c3d0d
test ecx, 0x2000
je 0x4c3cdf
mov esi, dword [ebp]
test esi, esi
je 0x4c3cd4
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c3cd4
push 0x40
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.00502e80
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 0x4c3cbb
test ecx, ecx
je 0x4c3cbb
cmp ecx, dword [eax + 0xe8]
jb 0x4c3cbb
cmp ecx, dword [eax + 0xec]
jae 0x4c3cbb
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c3cc4
push ecx
call fcn.00477310
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.0047bfa0
add esp, 4
jmp 0x4c3d0d
test ecx, 0x400
je 0x4c3d00
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c3d00
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c3d0d
test cl, 0x20
je 0x4c3d0d
mov edi, dword [ebp]
call fcn.00479ad0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c3d41
test ecx, ecx
je 0x4c3d41
cmp ecx, dword [eax + 0xe8]
jb 0x4c3d41
cmp ecx, dword [eax + 0xec]
jae 0x4c3d41
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c3d4a
push ecx
call fcn.00477310
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 0x4c3d90
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 0x4c3dcb
cmp eax, ebx
je 0x4c3dcb
cmp eax, dword [esi + 0xe8]
jb 0x4c3dcb
cmp eax, dword [esi + 0xec]
jae 0x4c3dcb
mov ecx, dword [esi + 0xe4]
mov dword [eax], ecx
or ebp, 0xffffffff
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c3dd7
push eax
call fcn.00477310
add esp, 4
or ebp, 0xffffffff
mov eax, dword [esp + 0x48]
cmp esi, ebx
je 0x4c3e09
cmp eax, ebx
je 0x4c3e09
cmp eax, dword [esi + 0xe8]
jb 0x4c3e09
cmp eax, dword [esi + 0xec]
jae 0x4c3e09
mov edx, dword [esi + 0xe4]
mov dword [eax], edx
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c3e12
push eax
call fcn.00477310
add esp, 4
mov eax, dword [esp + 0xfc]
push eax
mov eax, esi
call fcn.0047e1a0
mov ebx, dword [esp + 0x104]
add esp, 4
call fcn.0047d380
mov edi, dword [esp + 0x104]
test edi, edi
je 0x4c3e94
push edi
push esi
call fcn.004853d0
mov cx, word [edi + 2]
mov edx, 0x8000
and cx, dx
mov eax, edx
add esp, 8
cmp cx, ax
je 0x4c3e94
test esi, esi
je 0x4c3e8b
cmp edi, dword [esi + 0xe8]
jb 0x4c3e8b
cmp edi, dword [esi + 0xec]
jae 0x4c3e8b
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.00477310
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret