Function at 0x4c75c0
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 0x4c9432
cmp byte [eax + 0x1e], bl
jne 0x4c9432
mov ecx, dword [esp + 0xfc]
mov eax, ebp
call fcn.004bf5e0
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x4c9432
mov esi, dword [edi + 0x48]
mov ecx, dword [ebp]
call fcn.004841c0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x100]
push ebx
push eax
push 0x6a
push ebp
mov eax, edi
call fcn.00484990
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.00492480
add esp, 0x14
test eax, eax
jne 0x4c9432
push edi
push ebp
call fcn.004c4200
add esp, 8
test eax, eax
jne 0x4c9432
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x60]
add ecx, ecx
add ecx, ecx
call fcn.004873c0
mov ecx, eax
mov dword [esp + 0x48], ecx
cmp ecx, ebx
je 0x4c9432
xor eax, eax
cmp dword [edi + 0xc], ebx
jle 0x4c76ed
lea esp, [esp]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0xc]
jl 0x4c76e0
cmp dword [esp + 0x54], ebx
je 0x4c7703
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 0x4c772c
inc ecx
mov dword [ebp + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c7721
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 0x4c7983
mov dword [esp + 0x38], ebx
mov esi, edi
jmp 0x4c77a0
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.004a17d0
test eax, eax
jne 0x4c9430
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], edi
test edi, edi
jle 0x4c7885
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 0x4c7831
lea esp, [esp]
movzx edi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x562f50]
cmp al, byte [edi + 0x562f50]
jne 0x4c782d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x4c7810
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x562f50]
movzx edx, byte [ecx + 0x562f50]
sub edx, eax
je 0x4c7857
inc ebx
add esi, 0x18
cmp ebx, edi
jl 0x4c7800
mov dword [esp + 0x10], ebx
jmp 0x4c7881
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
cmp ebx, dword [eax + 8]
jne 0x4c7876
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 0x4c791f
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 0x4c78d1
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x562f50]
cmp cl, byte [ebx + 0x562f50]
jne 0x4c78cd
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x4c78b0
mov ebx, dword [esp + 0x10]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x562f50]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x562f50]
sub eax, ecx
je 0x4c790d
mov edx, str.ROWID
mov ecx, esi
call fcn.0047cd20
test eax, eax
je 0x4c790d
mov edx, 0x56623c
mov ecx, esi
call fcn.0047cd20
test eax, eax
jne 0x4c79bd
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.004913c0
add esp, 0x10
cmp eax, 1
je 0x4c9430
cmp eax, 2
jne 0x4c7964
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 0x4c77a0
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
xor ecx, ecx
cmp eax, ebx
je 0x4c7a8a
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x4c7994
cmp ecx, ebx
jle 0x4c7a8a
mov esi, dword [esp + 0x60]
lea edi, [ecx*4]
cmp byte [esi + 0x1e], bl
je 0x4c79e7
mov dword [esp + 0x40], ebx
jmp 0x4c9432
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.0048ea40
add esp, 8
jmp 0x4c9430
cmp byte [esi + 0xda], bl
je 0x4c7a28
movzx eax, word [esi + 0xd8]
cmp edi, eax
jg 0x4c7a28
mov eax, dword [esi + 0xe4]
cmp eax, ebx
je 0x4c7a28
mov ecx, dword [eax]
inc dword [esi + 0xdc]
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0xdc]
cmp ecx, dword [esi + 0xe0]
jle 0x4c7a7e
mov dword [esi + 0xe0], ecx
jmp 0x4c7a7e
lea edx, [edi - 1]
cmp edx, 0x7ffffefe
ja 0x4c7ab7
cmp dword [0x59f138], ebx
je 0x4c7aab
mov eax, dword [0x59f360]
cmp eax, ebx
je 0x4c7a52
push eax
call dword [0x59f180]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, edi
call fcn.00486ef0
mov eax, dword [0x59f360]
test eax, eax
je 0x4c7a70
push eax
call dword [0x59f188]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c7a7e
mov byte [esi + 0x1e], 1
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x4c9432
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x14]
cmp esi, ebx
je 0x4c7b0e
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
cmp dword [esp + 0x4c], ebx
je 0x4c7abb
inc dword [ebp + 0x48]
jmp 0x4c7af7
push edi
call dword [0x59f150]
add esp, 4
jmp 0x4c7a76
xor eax, eax
jmp 0x4c7a7a
mov edx, dword [esi + 4]
xor edi, edi
xor eax, eax
cmp edx, ebx
jle 0x4c7afa
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x48]
lea ecx, [ecx]
mov ebp, dword [ecx]
cmp dword [ebx + ebp*4], 0
jge 0x4c7aeb
inc eax
add ecx, 4
cmp eax, edx
jl 0x4c7ad0
mov ebp, dword [esp + 0xf8]
xor ebx, ebx
jmp 0x4c7afa
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 0x4c7aa0
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 0x4c7b39
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 0x4c7c7c
mov esi, dword [edi]
cmp esi, ebx
je 0x4c7b9f
cmp byte [esi + 0x1e], bl
jne 0x4c7d4c
cmp byte [esi + 0xda], bl
je 0x4c7b9f
mov eax, 0xd0
cmp ax, word [esi + 0xd8]
ja 0x4c7b9f
mov ebp, dword [esi + 0xe4]
cmp ebp, ebx
je 0x4c7b9f
mov ecx, dword [ebp]
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], ecx
jle 0x4c7bf3
mov dword [esi + 0xe0], eax
jmp 0x4c7bf3
cmp dword [0x59f138], ebx
je 0x4c7d39
mov eax, dword [0x59f360]
cmp eax, ebx
je 0x4c7bbe
push eax
call dword [0x59f180]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, 0xd0
call fcn.00486ef0
mov eax, dword [0x59f360]
test eax, eax
je 0x4c7bdf
push eax
call dword [0x59f188]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4c7bf1
cmp esi, ebx
je 0x4c7bf1
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x4c7d4c
push 0xd0
push ebx
push ebp
call fcn.00516fd0
mov dword [ebp], esi
mov eax, dword [esi + 0x84]
add esp, 0xc
cmp eax, ebx
je 0x4c7c1a
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 0x4c9432
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c7c51
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c7c75
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 0x4c7c85
mov byte [ebp + 0x6d], 1
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xf8]
call fcn.004ad930
mov ecx, ebx
mov edx, 1
shl edx, cl
xor ebx, ebx
or dword [esi + 0x150], edx
cmp byte [esi + 0x13], bl
jne 0x4c7cef
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c7cc7
call fcn.00489a50
test eax, eax
jne 0x4c7cef
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 0x4c7d53
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.004c1e70
add esp, 0x18
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], ebx
jmp 0x4c9430
push 0xd0
call dword [0x59f150]
add esp, 4
jmp 0x4c7be5
xor ebp, ebp
jmp 0x4c7c33
cmp dword [esp + 0x74], ebx
je 0x4c7d76
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 0x4c7fb5
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4c7d9a
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c7dc6
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 0x4c7de4
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c7e10
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 0x4c7e2d
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c7e2d
mov dword [esp + 0x10], 1
jmp 0x4c7e55
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.00489c30
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.004ca1f0
add esp, 0x30
test eax, eax
jne 0x4c9413
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ecx
mov dword [esp + 0x50], ecx
jg 0x4c7edc
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c7ed8
mov eax, 1
jmp 0x4c7f02
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.004ca1f0
add esp, 0x30
test eax, eax
jne 0x4c9413
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c7f78
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c7f78
mov esi, 1
jmp 0x4c7f9c
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 0x4c7fb5
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x74], ebx
je 0x4c7fdd
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.004c39e0
add esp, 0x10
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0xf8]
lea edi, [esp + 0x90]
call fcn.004a17d0
test eax, eax
jne 0x4c9411
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x4c8012
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c803e
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 0x4c8040
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.004b3040
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4c9411
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov ecx, eax
movzx edx, byte [ecx + 6]
mov dword [esp + 0x28], edx
jg 0x4c8085
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c80b5
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 0x4c80b7
xor ebx, ebx
mov edi, dword [esp + 0x28]
cmp edi, ebx
jne 0x4c80db
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.00489bd0
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.0048d060
mov ecx, dword [esp + 0x64]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x4c8112
cmp dword [esi + 0x1e8], ebx
jne 0x4c8112
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.00489bd0
add esp, 0xc
cmp dword [esp + 0x74], ebx
jne 0x4c8276
cmp edi, ebx
mov edi, dword [esp + 0x14]
jne 0x4c813c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 0xa
push edx
push eax
mov eax, edi
mov ecx, esi
call fcn.00499950
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0x108], ecx
je 0x4c8163
mov eax, dword [edi + 0x14]
mov dword [esp + 0x70], ebx
cmp eax, ebx
je 0x4c816b
cmp byte [eax + 0x18], cl
je 0x4c8163
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4c8155
jmp 0x4c816b
mov dword [esp + 0x70], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4c8276
mov edi, edi
cmp dword [esp + 0x70], ebx
jne 0x4c8197
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c825f
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0xf8]
push esi
push eax
call fcn.004a2f10
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 0x4c81d1
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c81d1
mov esi, 1
jmp 0x4c8209
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 0x4c8251
cmp byte [edi + 0x1e], bl
jne 0x4c8251
cmp esi, ebx
jge 0x4c8222
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.00489f10
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x4c8248
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4c825f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x4c825f
mov ecx, dword [esp + 0x10]
mov eax, 0xfffffff0
call fcn.00489f10
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x4c8180
cmp dword [esp + 0x54], ebx
je 0x4c8295
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x4c8295
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 0x4c8341
cmp dword [ebp + 0x10], esi
jg 0x4c82bc
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c82bc
mov dword [esp + 0x10], 1
jmp 0x4c82e8
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 0x4c8302
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c8302
mov esi, 1
jmp 0x4c8326
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 0x4c838b
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4c838b
cmp dword [ebp + 0x10], esi
jg 0x4c835b
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c835b
mov dword [esp + 0x44], 1
jmp 0x4c838b
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 0x4c8ac2
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c83a8
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c83d8
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 0x4c83ee
inc dword [eax + 0x48]
mov edx, dword [eax + 0x48]
jmp 0x4c83fa
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 0x4c8411
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
jmp 0x4c8421
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 0x4c8434
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8460
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 0x4c8494
cmp dword [ebp + 0x10], esi
jg 0x4c8479
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c84d0
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 0x4c84c1
cmp dword [ebp + 0x10], esi
jg 0x4c84a4
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c84d0
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 0x4c84e3
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8513
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 0x4c862f
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.004b0320
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, edi
je 0x4c8595
mov edx, dword [esp + 0xf8]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x4c8595
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c8569
call fcn.00489a50
test eax, eax
jne 0x4c8595
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 0x4c8604
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 0x4c85ca
mov edi, esi
call fcn.00489a50
test eax, eax
jne 0x4c85f6
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 0x4c8617
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c866e
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 0x4c865c
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8642
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c866e
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 0x4c86cc
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 0x4c86ad
lea edi, [edi + edx - 1]
cmp ecx, edi
jle 0x4c86c8
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x18
inc eax
cmp eax, 0xa
jl 0x4c8697
mov eax, dword [esp + 0x28]
add edi, eax
sub edx, eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
jmp 0x4c86db
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 0x4c8903
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [edx + 8]
jne 0x4c872e
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8716
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c88e9
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 0x4c88d4
cmp esi, 0x20
mov eax, dword [esp + 0x48]
mov eax, dword [eax + esi*4]
mov edx, dword [esp + 0x78]
jge 0x4c874b
mov edi, 1
mov ecx, esi
shl edi, cl
test edx, edi
jne 0x4c8754
cmp edx, 0xffffffff
jne 0x4c88ae
cmp eax, ebx
jge 0x4c87b1
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4c8773
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c879f
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.004a6330
jmp 0x4c88e9
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.004b0320
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp eax, edi
je 0x4c8839
mov eax, dword [esp + 0xf8]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x4c8839
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x4c880d
call fcn.00489a50
test eax, eax
jne 0x4c8839
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 0x4c88e9
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 0x4c8872
mov edi, esi
call fcn.00489a50
test eax, eax
jne 0x4c889e
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 0x4c88e9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c88c1
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c88e9
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 0x4c86f6
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 0x4c8921
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8951
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 0x4c899e
push ebp
mov eax, esi
call fcn.0048c240
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 0x4c8996
cmp ecx, dword [esp + 0x1c]
jg 0x4c8996
mov byte [eax], 1
add eax, 0x18
sub edx, 1
jne 0x4c8984
mov ecx, dword [esp + 0xf8]
mov eax, dword [esi + 0xc]
cmp eax, dword [ecx + 0x38]
jle 0x4c89b7
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 0x4c89ca
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c89fc
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 0x4c8a00
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0xf8]
cmp edi, ebx
je 0x4c8a3c
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c8a3c
xor eax, eax
lea ecx, [esi + 0x60]
jmp 0x4c8a20
cmp dword [ecx + 0x10], edi
je 0x4c8c25
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c8a20
movzx edx, dl
mov dword [esi + edx*4 + 0x18], edi
inc byte [esi + 0x15]
cmp dword [esp + 0x30], ebx
je 0x4c8a6f
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4c8a6f
mov edi, dword [esp + 0x30]
xor eax, eax
lea ecx, [esi + 0x60]
cmp dword [ecx + 0x10], edi
je 0x4c8c2e
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4c8a53
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 0x4c8a82
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8aad
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 0x4c8ac2
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x74], ebx
jne 0x4c8e50
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8adf
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8b0f
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 0x4c8bbc
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0xf8]
push esi
push edx
push edi
call fcn.004b0320
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x4c8b81
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x4c8b81
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4c8b59
call fcn.00489a50
test eax, eax
jne 0x4c8b81
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 0x4c8b94
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8bbc
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 0x4c8d28
mov esi, dword [esp + 0x38]
inc esi
mov ecx, ebx
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 8]
jne 0x4c8c37
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c8bfc
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8d11
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 0x4c8d11
mov byte [ecx + 9], 1
jmp 0x4c8a3c
mov byte [ecx + 9], 1
jmp 0x4c8a6f
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jge 0x4c8c98
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c8c61
mov edi, ebp
call fcn.00489a50
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x4c8c89
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.004a6330
jmp 0x4c8d11
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.004b0320
add esp, 0xc
mov dword [esp + 0x5c], eax
cmp eax, esi
je 0x4c8d11
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0xc]
cmp edi, ebx
je 0x4c8d11
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c8ce9
call fcn.00489a50
test eax, eax
jne 0x4c8d11
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 0x4c8bd4
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.004b4d20
mov esi, dword [ebp + 0xc]
add esp, 0x28
cmp dword [ebp + 0x10], esi
jg 0x4c8d7e
mov edi, ebp
call fcn.00489a50
test eax, eax
je 0x4c8d7e
mov dword [esp + 0x5c], 1
jmp 0x4c8dae
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.004b1c90
add esp, 0xc
cmp dword [esp + 0x4c], ebx
je 0x4c8e15
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4c8de9
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8e15
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 0x4c8e2a
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.0049a1a0
add esp, 0x24
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c8ea9
mov ecx, dword [esp + 0xf8]
cmp dword [ecx + 0x1e8], ebx
jne 0x4c8ea9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8e7c
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8ea9
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 0x4c8f02
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8ec2
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8eed
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 0x4c8f02
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 0x4c8f15
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8f3f
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 0x4c8f43
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x4c8f54
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 0x4c8fd0
cmp dword [esp + 0x70], ebx
jne 0x4c8f7a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4c8fc1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8f8d
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c8fbd
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 0x4c8f67
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c8fe3
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c900b
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 0x4c9087
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c9024
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c904c
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 0x4c905f
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c9087
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 0x4c90a4
cmp dword [esi + 0x1e8], ebx
jne 0x4c90a4
push esi
call fcn.00499db0
add esp, 4
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4c9411
cmp dword [esi + 0x1e8], 0
jne 0x4c9411
cmp byte [esi + 0x13], 0
jne 0x4c9411
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4c90dc
mov edi, ebp
call fcn.00489a50
test eax, eax
jne 0x4c910b
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.00490180
mov ecx, dword [ebp]
add esp, 4
cmp byte [ecx + 0x1e], 0
jne 0x4c9411
mov ebp, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4c9133
mov eax, dword [ebx + 0x48]
jmp 0x4c9138
mov eax, 0x3b9aca00
xor ecx, ecx
mov dword [esp + 0x58], ecx
test eax, eax
jl 0x4c9154
cmp byte [ecx + str.rows_updated], 0
je 0x4c9150
inc ecx
cmp ecx, eax
jle 0x4c9142
mov dword [esp + 0x58], ecx
movzx ecx, word [ebp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], 0x202
cmp edx, fcn.0047ca30
jne 0x4c92b9
test ecx, 0x2420
je 0x4c9261
test ecx, 0x2000
je 0x4c9233
mov esi, dword [ebp]
test esi, esi
je 0x4c9228
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c9228
push 0x40
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.00516fd0
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 0x4c920f
test ecx, ecx
je 0x4c920f
cmp ecx, dword [eax + 0xe8]
jb 0x4c920f
cmp ecx, dword [eax + 0xec]
jae 0x4c920f
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c9218
push ecx
call fcn.0047c9b0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.00481640
add esp, 4
jmp 0x4c9261
test ecx, 0x400
je 0x4c9254
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c9254
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c9261
test cl, 0x20
je 0x4c9261
mov edi, dword [ebp]
call fcn.0047f170
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c9295
test ecx, ecx
je 0x4c9295
cmp ecx, dword [eax + 0xe8]
jb 0x4c9295
cmp ecx, dword [eax + 0xec]
jae 0x4c9295
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c929e
push ecx
call fcn.0047c9b0
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 0x4c93fe
test ecx, 0x2420
je 0x4c93ad
test ecx, 0x2000
je 0x4c937f
mov esi, dword [ebp]
test esi, esi
je 0x4c9374
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4c9374
push 0x40
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.00516fd0
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 0x4c935b
test ecx, ecx
je 0x4c935b
cmp ecx, dword [eax + 0xe8]
jb 0x4c935b
cmp ecx, dword [eax + 0xec]
jae 0x4c935b
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c9364
push ecx
call fcn.0047c9b0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.00481640
add esp, 4
jmp 0x4c93ad
test ecx, 0x400
je 0x4c93a0
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4c93a0
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4c93ad
test cl, 0x20
je 0x4c93ad
mov edi, dword [ebp]
call fcn.0047f170
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4c93e1
test ecx, ecx
je 0x4c93e1
cmp ecx, dword [eax + 0xe8]
jb 0x4c93e1
cmp ecx, dword [eax + 0xec]
jae 0x4c93e1
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4c93ea
push ecx
call fcn.0047c9b0
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 0x4c9430
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 0x4c946b
cmp eax, ebx
je 0x4c946b
cmp eax, dword [esi + 0xe8]
jb 0x4c946b
cmp eax, dword [esi + 0xec]
jae 0x4c946b
mov ecx, dword [esi + 0xe4]
mov dword [eax], ecx
or ebp, 0xffffffff
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c9477
push eax
call fcn.0047c9b0
add esp, 4
or ebp, 0xffffffff
mov eax, dword [esp + 0x48]
cmp esi, ebx
je 0x4c94a9
cmp eax, ebx
je 0x4c94a9
cmp eax, dword [esi + 0xe8]
jb 0x4c94a9
cmp eax, dword [esi + 0xec]
jae 0x4c94a9
mov edx, dword [esi + 0xe4]
mov dword [eax], edx
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4c94b2
push eax
call fcn.0047c9b0
add esp, 4
mov eax, dword [esp + 0xfc]
push eax
mov eax, esi
call fcn.00483830
mov ebx, dword [esp + 0x104]
add esp, 4
call fcn.00482a10
mov edi, dword [esp + 0x104]
test edi, edi
je 0x4c9534
push edi
push esi
call fcn.0048aa70
mov cx, word [edi + 2]
mov edx, 0x8000
and cx, dx
mov eax, edx
add esp, 8
cmp cx, ax
je 0x4c9534
test esi, esi
je 0x4c952b
cmp edi, dword [esi + 0xe8]
jb 0x4c952b
cmp edi, dword [esi + 0xec]
jae 0x4c952b
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.0047c9b0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret