Function at 0x4f97f0
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 0x4fb662
cmp byte [eax + 0x1e], bl
jne 0x4fb662
mov ecx, dword [esp + 0xfc]
mov eax, ebp
call fcn.004f1810
mov edi, eax
mov dword [esp + 0x14], edi
cmp edi, ebx
je 0x4fb662
mov esi, dword [edi + 0x48]
mov ecx, dword [ebp]
call fcn.004b6400
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x100]
push ebx
push eax
push 0x6a
push ebp
mov eax, edi
call fcn.004b6bd0
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.004c46b0
add esp, 0x14
test eax, eax
jne 0x4fb662
push edi
push ebp
call fcn.004f6430
add esp, 8
test eax, eax
jne 0x4fb662
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x60]
add ecx, ecx
add ecx, ecx
call fcn.004b95f0
mov ecx, eax
mov dword [esp + 0x48], ecx
cmp ecx, ebx
je 0x4fb662
xor eax, eax
cmp dword [edi + 0xc], ebx
jle 0x4f991d
lea esp, [esp]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0xc]
jl 0x4f9910
cmp dword [esp + 0x54], ebx
je 0x4f9933
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 0x4f995c
inc ecx
mov dword [ebp + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4f9951
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 0x4f9bb3
mov dword [esp + 0x38], ebx
mov esi, edi
jmp 0x4f99d0
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.004d3a00
test eax, eax
jne 0x4fb660
mov edi, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], edi
test edi, edi
jle 0x4f9ab5
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 0x4f9a61
lea esp, [esp]
movzx edi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x57f160]
cmp al, byte [edi + 0x57f160]
jne 0x4f9a5d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x4f9a40
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x57f160]
movzx edx, byte [ecx + 0x57f160]
sub edx, eax
je 0x4f9a87
inc ebx
add esi, 0x18
cmp ebx, edi
jl 0x4f9a30
mov dword [esp + 0x10], ebx
jmp 0x4f9ab1
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ebx
cmp ebx, dword [eax + 8]
jne 0x4f9aa6
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 0x4f9b4f
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 0x4f9b01
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x57f160]
cmp cl, byte [ebx + 0x57f160]
jne 0x4f9afd
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x4f9ae0
mov ebx, dword [esp + 0x10]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x57f160]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x57f160]
sub eax, ecx
je 0x4f9b3d
mov edx, str.ROWID
mov ecx, esi
call fcn.004aef60
test eax, eax
je 0x4f9b3d
mov edx, 0x58244c
mov ecx, esi
call fcn.004aef60
test eax, eax
jne 0x4f9bed
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.004c35f0
add esp, 0x10
cmp eax, 1
je 0x4fb660
cmp eax, 2
jne 0x4f9b94
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 0x4f99d0
xor ebx, ebx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x14]
xor ecx, ecx
cmp eax, ebx
je 0x4f9cba
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x4f9bc4
cmp ecx, ebx
jle 0x4f9cba
mov esi, dword [esp + 0x60]
lea edi, [ecx*4]
cmp byte [esi + 0x1e], bl
je 0x4f9c17
mov dword [esp + 0x40], ebx
jmp 0x4fb662
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.004c0c70
add esp, 8
jmp 0x4fb660
cmp byte [esi + 0xda], bl
je 0x4f9c58
movzx eax, word [esi + 0xd8]
cmp edi, eax
jg 0x4f9c58
mov eax, dword [esi + 0xe4]
cmp eax, ebx
je 0x4f9c58
mov ecx, dword [eax]
inc dword [esi + 0xdc]
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0xdc]
cmp ecx, dword [esi + 0xe0]
jle 0x4f9cae
mov dword [esi + 0xe0], ecx
jmp 0x4f9cae
lea edx, [edi - 1]
cmp edx, 0x7ffffefe
ja 0x4f9ce7
cmp dword [0x5c1c98], ebx
je 0x4f9cdb
mov eax, dword [0x5c1ec0]
cmp eax, ebx
je 0x4f9c82
push eax
call dword [0x5c1ce0]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, edi
call fcn.004b9120
mov eax, dword [0x5c1ec0]
test eax, eax
je 0x4f9ca0
push eax
call dword [0x5c1ce8]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4f9cae
mov byte [esi + 0x1e], 1
mov dword [esp + 0x40], eax
cmp eax, ebx
je 0x4fb662
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x14]
cmp esi, ebx
je 0x4f9d3e
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
cmp dword [esp + 0x4c], ebx
je 0x4f9ceb
inc dword [ebp + 0x48]
jmp 0x4f9d27
push edi
call dword [0x5c1cb0]
add esp, 4
jmp 0x4f9ca6
xor eax, eax
jmp 0x4f9caa
mov edx, dword [esi + 4]
xor edi, edi
xor eax, eax
cmp edx, ebx
jle 0x4f9d2a
mov ecx, dword [esi + 8]
mov ebx, dword [esp + 0x48]
lea ecx, [ecx]
mov ebp, dword [ecx]
cmp dword [ebx + ebp*4], 0
jge 0x4f9d1b
inc eax
add ecx, 4
cmp eax, edx
jl 0x4f9d00
mov ebp, dword [esp + 0xf8]
xor ebx, ebx
jmp 0x4f9d2a
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 0x4f9cd0
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 0x4f9d69
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 0x4f9eac
mov esi, dword [edi]
cmp esi, ebx
je 0x4f9dcf
cmp byte [esi + 0x1e], bl
jne 0x4f9f7c
cmp byte [esi + 0xda], bl
je 0x4f9dcf
mov eax, 0xd0
cmp ax, word [esi + 0xd8]
ja 0x4f9dcf
mov ebp, dword [esi + 0xe4]
cmp ebp, ebx
je 0x4f9dcf
mov ecx, dword [ebp]
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], ecx
jle 0x4f9e23
mov dword [esi + 0xe0], eax
jmp 0x4f9e23
cmp dword [0x5c1c98], ebx
je 0x4f9f69
mov eax, dword [0x5c1ec0]
cmp eax, ebx
je 0x4f9dee
push eax
call dword [0x5c1ce0]
add esp, 4
lea ebx, [esp + 0x10]
mov eax, 0xd0
call fcn.004b9120
mov eax, dword [0x5c1ec0]
test eax, eax
je 0x4f9e0f
push eax
call dword [0x5c1ce8]
add esp, 4
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x4f9e21
cmp esi, ebx
je 0x4f9e21
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x4f9f7c
push 0xd0
push ebx
push ebp
call fcn.0052b710
mov dword [ebp], esi
mov eax, dword [esi + 0x84]
add esp, 0xc
cmp eax, ebx
je 0x4f9e4a
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 0x4fb662
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4f9e81
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4f9ea5
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 0x4f9eb5
mov byte [ebp + 0x6d], 1
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xf8]
call fcn.004dfb60
mov ecx, ebx
mov edx, 1
shl edx, cl
xor ebx, ebx
or dword [esi + 0x150], edx
cmp byte [esi + 0x13], bl
jne 0x4f9f1f
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4f9ef7
call fcn.004bbc80
test eax, eax
jne 0x4f9f1f
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 0x4f9f83
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.004f40a0
add esp, 0x18
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], ebx
jmp 0x4fb660
push 0xd0
call dword [0x5c1cb0]
add esp, 4
jmp 0x4f9e15
xor ebp, ebp
jmp 0x4f9e63
cmp dword [esp + 0x74], ebx
je 0x4f9fa6
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 0x4fa1e5
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4f9fca
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4f9ff6
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 0x4fa014
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa040
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 0x4fa05d
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa05d
mov dword [esp + 0x10], 1
jmp 0x4fa085
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.004bbe60
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.004fc420
add esp, 0x30
test eax, eax
jne 0x4fb643
mov ecx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ecx
mov dword [esp + 0x50], ecx
jg 0x4fa10c
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa108
mov eax, 1
jmp 0x4fa132
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.004fc420
add esp, 0x30
test eax, eax
jne 0x4fb643
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fa1a8
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa1a8
mov esi, 1
jmp 0x4fa1cc
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 0x4fa1e5
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x74], ebx
je 0x4fa20d
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.004f5c10
add esp, 0x10
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0xf8]
lea edi, [esp + 0x90]
call fcn.004d3a00
test eax, eax
jne 0x4fb641
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x4fa242
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa26e
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 0x4fa270
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.004e5270
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x4fb641
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov ecx, eax
movzx edx, byte [ecx + 6]
mov dword [esp + 0x28], edx
jg 0x4fa2b5
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa2e5
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 0x4fa2e7
xor ebx, ebx
mov edi, dword [esp + 0x28]
cmp edi, ebx
jne 0x4fa30b
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.004bbe00
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.004bf290
mov ecx, dword [esp + 0x64]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x4fa342
cmp dword [esi + 0x1e8], ebx
jne 0x4fa342
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.004bbe00
add esp, 0xc
cmp dword [esp + 0x74], ebx
jne 0x4fa4a6
cmp edi, ebx
mov edi, dword [esp + 0x14]
jne 0x4fa36c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push 0xa
push edx
push eax
mov eax, edi
mov ecx, esi
call fcn.004cbb80
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0x108], ecx
je 0x4fa393
mov eax, dword [edi + 0x14]
mov dword [esp + 0x70], ebx
cmp eax, ebx
je 0x4fa39b
cmp byte [eax + 0x18], cl
je 0x4fa393
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4fa385
jmp 0x4fa39b
mov dword [esp + 0x70], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x4fa4a6
mov edi, edi
cmp dword [esp + 0x70], ebx
jne 0x4fa3c7
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4fa48f
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0xf8]
push esi
push eax
call fcn.004d5140
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 0x4fa401
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa401
mov esi, 1
jmp 0x4fa439
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 0x4fa481
cmp byte [edi + 0x1e], bl
jne 0x4fa481
cmp esi, ebx
jge 0x4fa452
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.004bc140
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x4fa478
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4fa48f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x4fa48f
mov ecx, dword [esp + 0x10]
mov eax, 0xfffffff0
call fcn.004bc140
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x4fa3b0
cmp dword [esp + 0x54], ebx
je 0x4fa4c5
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x4fa4c5
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 0x4fa571
cmp dword [ebp + 0x10], esi
jg 0x4fa4ec
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa4ec
mov dword [esp + 0x10], 1
jmp 0x4fa518
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 0x4fa532
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa532
mov esi, 1
jmp 0x4fa556
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 0x4fa5bb
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4fa5bb
cmp dword [ebp + 0x10], esi
jg 0x4fa58b
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fa58b
mov dword [esp + 0x44], 1
jmp 0x4fa5bb
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 0x4facf2
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fa5d8
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa608
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 0x4fa61e
inc dword [eax + 0x48]
mov edx, dword [eax + 0x48]
jmp 0x4fa62a
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 0x4fa641
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
jmp 0x4fa651
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 0x4fa664
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa690
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 0x4fa6c4
cmp dword [ebp + 0x10], esi
jg 0x4fa6a9
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa700
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 0x4fa6f1
cmp dword [ebp + 0x10], esi
jg 0x4fa6d4
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa700
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 0x4fa713
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa743
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 0x4fa85f
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.004e2550
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, edi
je 0x4fa7c5
mov edx, dword [esp + 0xf8]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x4fa7c5
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4fa799
call fcn.004bbc80
test eax, eax
jne 0x4fa7c5
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 0x4fa834
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 0x4fa7fa
mov edi, esi
call fcn.004bbc80
test eax, eax
jne 0x4fa826
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 0x4fa847
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa89e
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 0x4fa88c
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fa872
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa89e
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 0x4fa8fc
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 0x4fa8dd
lea edi, [edi + edx - 1]
cmp ecx, edi
jle 0x4fa8f8
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x18
inc eax
cmp eax, 0xa
jl 0x4fa8c7
mov eax, dword [esp + 0x28]
add edi, eax
sub edx, eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
jmp 0x4fa90b
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 0x4fab33
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x14]
cmp esi, dword [edx + 8]
jne 0x4fa95e
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fa946
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fab19
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 0x4fab04
cmp esi, 0x20
mov eax, dword [esp + 0x48]
mov eax, dword [eax + esi*4]
mov edx, dword [esp + 0x78]
jge 0x4fa97b
mov edi, 1
mov ecx, esi
shl edi, cl
test edx, edi
jne 0x4fa984
cmp edx, 0xffffffff
jne 0x4faade
cmp eax, ebx
jge 0x4fa9e1
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x2c], eax
jg 0x4fa9a3
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fa9cf
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.004d8560
jmp 0x4fab19
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.004e2550
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp eax, edi
je 0x4faa69
mov eax, dword [esp + 0xf8]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x4faa69
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x10], eax
jg 0x4faa3d
call fcn.004bbc80
test eax, eax
jne 0x4faa69
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 0x4fab19
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 0x4faaa2
mov edi, esi
call fcn.004bbc80
test eax, eax
jne 0x4faace
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 0x4fab19
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4faaf1
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fab19
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 0x4fa926
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 0x4fab51
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fab81
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 0x4fabce
push ebp
mov eax, esi
call fcn.004be470
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 0x4fabc6
cmp ecx, dword [esp + 0x1c]
jg 0x4fabc6
mov byte [eax], 1
add eax, 0x18
sub edx, 1
jne 0x4fabb4
mov ecx, dword [esp + 0xf8]
mov eax, dword [esi + 0xc]
cmp eax, dword [ecx + 0x38]
jle 0x4fabe7
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 0x4fabfa
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fac2c
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 0x4fac30
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0xf8]
cmp edi, ebx
je 0x4fac6c
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4fac6c
xor eax, eax
lea ecx, [esi + 0x60]
jmp 0x4fac50
cmp dword [ecx + 0x10], edi
je 0x4fae55
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4fac50
movzx edx, dl
mov dword [esi + edx*4 + 0x18], edi
inc byte [esi + 0x15]
cmp dword [esp + 0x30], ebx
je 0x4fac9f
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x4fac9f
mov edi, dword [esp + 0x30]
xor eax, eax
lea ecx, [esi + 0x60]
cmp dword [ecx + 0x10], edi
je 0x4fae5e
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4fac83
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 0x4facb2
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4facdd
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 0x4facf2
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x74], ebx
jne 0x4fb080
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fad0f
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fad3f
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 0x4fadec
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0xf8]
push esi
push edx
push edi
call fcn.004e2550
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x4fadb1
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x4fadb1
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4fad89
call fcn.004bbc80
test eax, eax
jne 0x4fadb1
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 0x4fadc4
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fadec
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 0x4faf58
mov esi, dword [esp + 0x38]
inc esi
mov ecx, ebx
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 8]
jne 0x4fae67
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4fae2c
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4faf41
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 0x4faf41
mov byte [ecx + 9], 1
jmp 0x4fac6c
mov byte [ecx + 9], 1
jmp 0x4fac9f
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jge 0x4faec8
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4fae91
mov edi, ebp
call fcn.004bbc80
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x4faeb9
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.004d8560
jmp 0x4faf41
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.004e2550
add esp, 0xc
mov dword [esp + 0x5c], eax
cmp eax, esi
je 0x4faf41
mov ecx, dword [esp + 0xf8]
mov edi, dword [ecx + 0xc]
cmp edi, ebx
je 0x4faf41
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4faf19
call fcn.004bbc80
test eax, eax
jne 0x4faf41
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 0x4fae04
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.004e6f50
mov esi, dword [ebp + 0xc]
add esp, 0x28
cmp dword [ebp + 0x10], esi
jg 0x4fafae
mov edi, ebp
call fcn.004bbc80
test eax, eax
je 0x4fafae
mov dword [esp + 0x5c], 1
jmp 0x4fafde
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.004e3ec0
add esp, 0xc
cmp dword [esp + 0x4c], ebx
je 0x4fb045
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4fb019
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb045
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 0x4fb05a
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.004cc3d0
add esp, 0x24
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4fb0d9
mov ecx, dword [esp + 0xf8]
cmp dword [ecx + 0x1e8], ebx
jne 0x4fb0d9
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb0ac
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb0d9
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 0x4fb132
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb0f2
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb11d
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 0x4fb132
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 0x4fb145
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb16f
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 0x4fb173
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jle 0x4fb184
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 0x4fb200
cmp dword [esp + 0x70], ebx
jne 0x4fb1aa
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x18]
cmp dword [ecx + edx*4], ebx
jle 0x4fb1f1
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb1bd
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb1ed
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 0x4fb197
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb213
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb23b
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 0x4fb2b7
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb254
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb27c
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 0x4fb28f
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb2b7
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 0x4fb2d4
cmp dword [esi + 0x1e8], ebx
jne 0x4fb2d4
push esi
call fcn.004cbfe0
add esp, 4
mov eax, dword [esp + 0x60]
test byte [eax + 0xc], 0x80
je 0x4fb641
cmp dword [esi + 0x1e8], 0
jne 0x4fb641
cmp byte [esi + 0x13], 0
jne 0x4fb641
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4fb30c
mov edi, ebp
call fcn.004bbc80
test eax, eax
jne 0x4fb33b
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.004c23b0
mov ecx, dword [ebp]
add esp, 4
cmp byte [ecx + 0x1e], 0
jne 0x4fb641
mov ebp, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4fb363
mov eax, dword [ebx + 0x48]
jmp 0x4fb368
mov eax, 0x3b9aca00
xor ecx, ecx
mov dword [esp + 0x58], ecx
test eax, eax
jl 0x4fb384
cmp byte [ecx + str.rows_updated], 0
je 0x4fb380
inc ecx
cmp ecx, eax
jle 0x4fb372
mov dword [esp + 0x58], ecx
movzx ecx, word [ebp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], 0x202
cmp edx, fcn.004aec70
jne 0x4fb4e9
test ecx, 0x2420
je 0x4fb491
test ecx, 0x2000
je 0x4fb463
mov esi, dword [ebp]
test esi, esi
je 0x4fb458
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4fb458
push 0x40
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.0052b710
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 0x4fb43f
test ecx, ecx
je 0x4fb43f
cmp ecx, dword [eax + 0xe8]
jb 0x4fb43f
cmp ecx, dword [eax + 0xec]
jae 0x4fb43f
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4fb448
push ecx
call fcn.004aebf0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.004b3880
add esp, 4
jmp 0x4fb491
test ecx, 0x400
je 0x4fb484
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4fb484
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4fb491
test cl, 0x20
je 0x4fb491
mov edi, dword [ebp]
call fcn.004b13b0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4fb4c5
test ecx, ecx
je 0x4fb4c5
cmp ecx, dword [eax + 0xe8]
jb 0x4fb4c5
cmp ecx, dword [eax + 0xec]
jae 0x4fb4c5
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4fb4ce
push ecx
call fcn.004aebf0
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 0x4fb62e
test ecx, 0x2420
je 0x4fb5dd
test ecx, 0x2000
je 0x4fb5af
mov esi, dword [ebp]
test esi, esi
je 0x4fb5a4
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4fb5a4
push 0x40
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.0052b710
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 0x4fb58b
test ecx, ecx
je 0x4fb58b
cmp ecx, dword [eax + 0xe8]
jb 0x4fb58b
cmp ecx, dword [eax + 0xec]
jae 0x4fb58b
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4fb594
push ecx
call fcn.004aebf0
add esp, 4
mov ecx, 0xa
lea esi, [esp + 0xbc]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.004b3880
add esp, 4
jmp 0x4fb5dd
test ecx, 0x400
je 0x4fb5d0
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4fb5d0
mov ecx, dword [ebp + 0x14]
push ecx
call eax
add esp, 4
mov dword [ebp + 0x20], 0
jmp 0x4fb5dd
test cl, 0x20
je 0x4fb5dd
mov edi, dword [ebp]
call fcn.004b13b0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x24]
test eax, eax
je 0x4fb611
test ecx, ecx
je 0x4fb611
cmp ecx, dword [eax + 0xe8]
jb 0x4fb611
cmp ecx, dword [eax + 0xec]
jae 0x4fb611
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4fb61a
push ecx
call fcn.004aebf0
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 0x4fb660
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 0x4fb69b
cmp eax, ebx
je 0x4fb69b
cmp eax, dword [esi + 0xe8]
jb 0x4fb69b
cmp eax, dword [esi + 0xec]
jae 0x4fb69b
mov ecx, dword [esi + 0xe4]
mov dword [eax], ecx
or ebp, 0xffffffff
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4fb6a7
push eax
call fcn.004aebf0
add esp, 4
or ebp, 0xffffffff
mov eax, dword [esp + 0x48]
cmp esi, ebx
je 0x4fb6d9
cmp eax, ebx
je 0x4fb6d9
cmp eax, dword [esi + 0xe8]
jb 0x4fb6d9
cmp eax, dword [esi + 0xec]
jae 0x4fb6d9
mov edx, dword [esi + 0xe4]
mov dword [eax], edx
add dword [esi + 0xdc], ebp
mov dword [esi + 0xe4], eax
jmp 0x4fb6e2
push eax
call fcn.004aebf0
add esp, 4
mov eax, dword [esp + 0xfc]
push eax
mov eax, esi
call fcn.004b5a70
mov ebx, dword [esp + 0x104]
add esp, 4
call fcn.004b4c50
mov edi, dword [esp + 0x104]
test edi, edi
je 0x4fb764
push edi
push esi
call fcn.004bcca0
mov cx, word [edi + 2]
mov edx, 0x8000
and cx, dx
mov eax, edx
add esp, 8
cmp cx, ax
je 0x4fb764
test esi, esi
je 0x4fb75b
cmp edi, dword [esi + 0xe8]
jb 0x4fb75b
cmp edi, dword [esi + 0xec]
jae 0x4fb75b
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.004aebf0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe4
ret