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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
or eax, 0xffffffff
push ebx
push esi
xor esi, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov eax, dword [edi]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x28], eax
cmp dword [edi + 0x40], esi
jne 0x4bc851
cmp byte [eax + 0x1e], 0
jne 0x4bc851
mov eax, dword [ebp + 0xc]
push edi
call fcn.004a5f70
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
cmp ebx, esi
je 0x4bae3d
mov esi, dword [ebx + 0x44]
mov ecx, dword [edi]
call fcn.004b1120
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x10]
push 0
push eax
push 0x6a
push edi
mov eax, ebx
call fcn.004ba180
xor ecx, ecx
cmp dword [ebx + 0x1c], ecx
push ebx
setne cl
push edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x90], ecx
call fcn.004a2c40
add esp, 0x18
test eax, eax
jne 0x4bae3d
xor edx, edx
cmp dword [esp + 0x54], edx
mov ecx, ebx
setne dl
mov eax, edi
push edx
call fcn.004a5fd0
add esp, 4
test eax, eax
jne 0x4bae3d
mov ecx, dword [ebx + 0xc]
mov esi, dword [esp + 0x28]
add ecx, ecx
add ecx, ecx
call fcn.00479070
mov dword [esp + 0x48], eax
test eax, eax
je 0x4bae41
xor esi, esi
xor eax, eax
cmp dword [ebx + 0xc], esi
jle 0x4babb1
jmp 0x4baba0
mov ecx, dword [esp + 0x48]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebx + 0xc]
jl 0x4baba0
cmp dword [esp + 0x54], esi
je 0x4babc7
mov eax, dword [edi + 0x44]
mov dword [esp + 0x6c], eax
inc eax
mov dword [esp + 0x70], eax
inc eax
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x44]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x20], eax
inc dword [edi + 0x44]
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x14]
cmp eax, esi
je 0x4babec
inc ecx
mov dword [edi + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, esi
jne 0x4babe1
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x98], edx
mov edx, dword [ebp + 0x10]
cmp dword [edx], esi
mov dword [esp + 0x94], 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 dword [esp + 0xb4], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x14], esi
jle 0x4bae9e
mov dword [esp + 0x30], esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x30]
mov ebx, dword [edx + ecx]
lea esi, [esp + 0x94]
call fcn.00498620
test eax, eax
jne 0x4bae3d
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
xor ebx, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x4bad21
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
mov esi, dword [ecx + 0x10]
add eax, edx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], edx
mov ecx, dword [esi]
mov al, byte [ecx]
mov edx, dword [esp + 0xc]
test al, al
je 0x4bacd3
movzx ebx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x4f0d80]
cmp al, byte [ebx + 0x4f0d80]
jne 0x4baccf
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x4bacb2
mov ebx, dword [esp + 0x44]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x4f0d80]
movzx edx, byte [ecx + 0x4f0d80]
sub edx, eax
je 0x4bacfb
inc ebx
add esi, 0x18
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x44], ebx
jl 0x4baca6
jmp 0x4bad21
mov eax, dword [esp + 0x10]
cmp ebx, dword [eax + 8]
jne 0x4bad16
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov dword [esp + 0x60], 1
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov dword [eax + ebx*4], ecx
mov edx, dword [esp + 0x10]
cmp ebx, dword [edx + 0xc]
jl 0x4badbb
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x30]
mov esi, dword [edx + ecx + 4]
lea eax, [edx + ecx]
mov cl, byte [esi]
mov dword [esp + 0x38], eax
mov eax, esi
mov edx, str._ROWID_
test cl, cl
je 0x4bad71
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x4f0d80]
cmp cl, byte [ebx + 0x4f0d80]
jne 0x4bad6d
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x4bad50
mov ebx, dword [esp + 0x44]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x4f0d80]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x4f0d80]
sub eax, ecx
je 0x4bada9
mov edx, str.ROWID
mov ecx, esi
call fcn.0047afb0
test eax, eax
je 0x4bada9
mov edx, 0x4fdfbc
mov ecx, esi
call fcn.0047afb0
test eax, eax
jne 0x4bae1e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov dword [esp + 0x60], 1
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov ecx, dword [esi + 8]
shl eax, 4
mov edx, dword [eax + ecx]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [eax + 0x10]
lea ecx, [ebx + ebx*2]
mov ecx, dword [edx + ecx*8]
mov edx, dword [eax + 4]
push ecx
push edx
push 0x17
mov eax, edi
call fcn.004a01f0
add esp, 0x10
cmp eax, 1
je 0x4bae41
cmp eax, 2
jne 0x4bae00
mov eax, dword [esp + 0x48]
mov dword [eax + ebx*4], 0xffffffff
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
add dword [esp + 0x30], 0x14
inc eax
cmp eax, dword [ecx]
mov dword [esp + 0x14], eax
jl 0x4bac52
jmp 0x4baea2
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4 + 4]
push edx
push str.no_such_column:__s
call fcn.0047ae50
add esp, 8
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4bae59
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x1e0], ecx
mov eax, dword [esp + 0x58]
test esi, esi
je 0x4bc858
test eax, eax
je 0x4bc858
cmp eax, dword [esi + 0xe8]
jb 0x4bc858
cmp eax, dword [esi + 0xec]
jae 0x4bc858
mov edx, dword [esi + 0xe4]
mov dword [eax], edx
dec dword [esi + 0xdc]
mov dword [esi + 0xe4], eax
jmp 0x4bc861
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
xor ecx, ecx
test eax, eax
je 0x4baed1
nop
mov eax, dword [eax + 0x20]
inc ecx
test eax, eax
jne 0x4baeb0
test ecx, ecx
jle 0x4baed1
add ecx, ecx
add ecx, ecx
call fcn.00479070
mov dword [esp + 0x58], eax
test eax, eax
je 0x4bae41
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x14]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x20], esi
test esi, esi
je 0x4baf4c
mov edx, dword [esp + 0x58]
mov dword [esp + 0x38], edx
lea esp, [esp]
cmp dword [esp + 0x60], 0
jne 0x4baf2e
mov edx, dword [esi + 4]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
test edx, edx
jle 0x4baf34
mov ecx, dword [esi + 8]
lea esp, [esp]
mov esi, dword [ecx]
cmp dword [ebx + esi*4], 0
jge 0x4baf2a
inc eax
add ecx, 4
cmp eax, edx
jl 0x4baf10
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
jmp 0x4baf34
mov esi, dword [esp + 0x20]
inc dword [edi + 0x48]
mov ecx, dword [edi + 0x48]
mov eax, dword [esp + 0x38]
mov dword [eax], ecx
mov esi, dword [esi + 0x20]
add eax, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], eax
test esi, esi
jne 0x4baef0
cmp dword [esp + 0x60], 0
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0xc]
lea ecx, [eax + 1]
lea eax, [eax + edx + 1]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ecx
mov dword [edi + 0x48], eax
je 0x4baf78
inc ecx
inc eax
mov dword [esp + 0x44], ecx
mov dword [edi + 0x48], eax
mov ebx, dword [edi + 0xc]
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], ebx
test ebx, ebx
jne 0x4bb0c5
mov esi, dword [edi]
test esi, esi
je 0x4bafdf
cmp byte [esi + 0x1e], bl
jne 0x4bb181
cmp byte [esi + 0xda], bl
je 0x4bafdf
mov eax, 0xd0
cmp ax, word [esi + 0xd8]
ja 0x4bafdf
mov ebx, dword [esi + 0xe4]
test ebx, ebx
je 0x4bafdf
mov ecx, dword [ebx]
inc dword [esi + 0xdc]
mov eax, dword [esi + 0xdc]
cmp eax, dword [esi + 0xe0]
mov dword [esi + 0xe4], ecx
jle 0x4bb032
mov dword [esi + 0xe0], eax
jmp 0x4bb032
cmp dword [0x513b68], 0
je 0x4bb16e
mov eax, dword [0x51b418]
test eax, eax
je 0x4bafff
push eax
call dword [0x513bb0]
add esp, 4
lea ebx, [esp + 0x38]
mov eax, 0xd0
call fcn.00478a60
mov eax, dword [0x51b418]
test eax, eax
je 0x4bb020
push eax
call dword [0x513bb8]
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x4bb030
test esi, esi
je 0x4bb030
mov byte [esi + 0x1e], 1
mov ebx, eax
test ebx, ebx
je 0x4bb181
push 0xd0
push 0
push ebx
call fcn.004cc620
mov dword [ebx], esi
mov eax, dword [esi + 0x84]
add esp, 0xc
test eax, eax
je 0x4bb059
mov dword [eax + 4], ebx
mov edx, dword [esi + 0x84]
mov dword [ebx + 8], edx
mov dword [ebx + 4], 0
mov dword [esi + 0x84], ebx
mov dword [ebx + 0x44], 0x26bceaa5
mov esi, ebx
mov dword [edi + 0xc], esi
mov dword [esp + 0x38], esi
test esi, esi
je 0x4bae3d
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x4bb09a
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb0c1
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0x15
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [esi + 0x6e], cl
mov ebx, dword [esp + 0x38]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x13], 0
jne 0x4bb0d2
mov byte [ebx + 0x6d], 1
mov edi, dword [esp + 0x40]
push edi
call fcn.004a50f0
mov edx, 1
mov ecx, edi
shl edx, cl
add esp, 4
or dword [esi + 0x150], edx
cmp byte [esi + 0x13], 0
jne 0x4bb135
mov eax, esi
mov edi, dword [eax + 0xc]
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x4bb10a
call fcn.0048c980
test eax, eax
jne 0x4bb135
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [edi + 0x6e], cl
mov eax, dword [esp + 0x10]
test byte [eax + 0x22], 0x10
je 0x4bb188
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
push ecx
push eax
mov eax, dword [ebp + 8]
push edx
call fcn.004bc920
add esp, 0x18
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0xc], eax
jmp 0x4bae3d
push 0xd0
call dword [0x513b80]
add esp, 4
jmp 0x4bb024
xor esi, esi
jmp 0x4bb078
cmp dword [esp + 0x78], 0
je 0x4bb1af
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [eax + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], edx
mov dword [ecx + 0x1e0], eax
cmp dword [esp + 0x54], 0
je 0x4bb405
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x50], edx
jg 0x4bb1d8
mov edi, ebx
call fcn.0048c980
test eax, eax
jne 0x4bb207
mov ecx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov edx, dword [esp + 0x70]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x50]
mov byte [eax], 0x75
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebx + 0x6e], cl
mov eax, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
jg 0x4bb225
mov edi, ebx
call fcn.0048c980
test eax, eax
jne 0x4bb258
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x6c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x50]
xor esi, esi
mov byte [eax], 0x75
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebx + 0x6e], 0
jmp 0x4bb25a
xor esi, esi
mov eax, dword [ebx + 0xc]
cmp dword [ebx + 0x10], eax
mov dword [esp + 0x50], eax
jg 0x4bb27b
mov edi, ebx
call fcn.0048c980
test eax, eax
je 0x4bb27b
mov dword [esp + 0x1c], 1
jmp 0x4bb2aa
mov edx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x50]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebx + 0x6e], 0
mov dword [esp + 0x1c], ecx
mov eax, ebx
call fcn.0048cb20
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ebp + 0x18]
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [ebp + 8]
push 1
push eax
push 0x6a
push ecx
push edx
call fcn.004ba650
add esp, 0x30
test eax, eax
jne 0x4bae3d
mov eax, dword [ebx + 0xc]
cmp dword [ebx + 0x10], eax
mov dword [esp + 0x50], eax
jg 0x4bb31f
mov edi, ebx
call fcn.0048c980
test eax, eax
je 0x4bb31f
mov eax, 1
jmp 0x4bb34c
mov edx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x50]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebx + 0x6e], 0
mov eax, ecx
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x84]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [ebp + 8]
push 2
push edx
push 0x6a
push eax
push ecx
call fcn.004ba650
add esp, 0x30
test eax, eax
jne 0x4bae3d
mov eax, dword [ebx + 0xc]
cmp dword [ebx + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bb3be
mov edi, ebx
call fcn.0048c980
test eax, eax
je 0x4bb3be
mov ecx, 1
jmp 0x4bb3e9
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0xc]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebx + 0x6e], 0
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jle 0x4bb405
mov edx, dword [ebx + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x78], 0
je 0x4bb426
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.004a6060
add esp, 0x10
mov ebx, dword [ebp + 0x14]
lea esi, [esp + 0x94]
call fcn.00498620
test eax, eax
jne 0x4bae3d
mov esi, dword [esp + 0x38]
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x4bb454
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb480
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x64]
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 [esi + 0x6e], bl
jmp 0x4bb482
xor ebx, ebx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push 4
push ebx
push edx
push eax
push ecx
call fcn.004c2380
add esp, 0x14
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0x4bae3d
movzx edx, byte [eax + 6]
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
mov dword [esp + 0x1c], edx
jg 0x4bb4c0
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb4f0
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x64]
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 [esi + 0x6e], bl
jmp 0x4bb4f2
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [esp + 0x1c], ebx
jne 0x4bb518
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov edx, dword [esp + 0x64]
push ebx
push edx
push eax
mov dword [esp + 0x48], eax
push 0x33
mov eax, esi
call fcn.0048ca00
add esp, 0x10
mov eax, dword [esp + 0xc]
push eax
call fcn.004c2d50
mov ecx, dword [esp + 0x2c]
add esp, 4
test byte [ecx + 0xc], 0x80
je 0x4bb58c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1dc], ebx
jne 0x4bb58c
mov eax, edx
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bb55d
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb58c
mov edx, dword [esi + 0x14]
mov eax, dword [esp + 0xc]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x5c]
mov byte [eax], 0x30
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x78], ebx
jne 0x4bb6ff
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x1c], ebx
jne 0x4bb5b9
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
push 0xa
push edx
push eax
mov eax, edi
call fcn.004a95f0
add esp, 0xc
mov ecx, 5
cmp dword [ebp + 0x18], ecx
je 0x4bb5de
mov eax, dword [edi + 0x14]
mov dword [esp + 0x74], ebx
cmp eax, ebx
je 0x4bb5e6
mov edi, edi
cmp byte [eax + 0x18], cl
je 0x4bb5de
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x4bb5d0
jmp 0x4bb5e6
mov dword [esp + 0x74], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4bb6ff
lea esp, [esp]
cmp dword [esp + 0x74], 0
jne 0x4bb619
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x58]
cmp dword [edx + ecx*4], 0
jle 0x4bb6e6
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
push edi
push eax
call fcn.004a5520
mov ebx, dword [esi + 0xc]
mov ecx, dword [edi + 0x14]
add esp, 8
cmp dword [esi + 0x10], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], ecx
jg 0x4bb64f
mov edi, esi
call fcn.0048c980
test eax, eax
je 0x4bb64f
mov ebx, 1
jmp 0x4bb68e
mov eax, dword [esi + 0x14]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x14]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
lea ecx, [edx + ecx + 1]
mov edx, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov byte [eax], 0xa
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esi + 0x14]
mov edi, dword [esi]
mov eax, ebx
test ecx, ecx
je 0x4bb6d8
cmp byte [edi + 0x1e], 0
jne 0x4bb6d8
test ebx, ebx
jge 0x4bb6a7
mov eax, dword [esi + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ebx, [ecx + edx*4]
mov ecx, dword [ebx + 0x10]
call fcn.0048cec0
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dword [ebx + 0x10], ecx
cmp eax, ecx
jne 0x4bb6cf
mov dword [ebx + 0x10], ecx
mov byte [ebx + 1], cl
jmp 0x4bb6e6
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xfa
jmp 0x4bb6e6
mov ecx, dword [esp + 0x30]
mov eax, 0xfffffff0
call fcn.0048cec0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4bb600
xor ebx, ebx
cmp dword [esp + 0x54], ebx
je 0x4bb71e
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x4bb71e
mov ecx, dword [esp + 0x4c]
lea edx, [ecx*4 + 4]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x1c], ebx
je 0x4bb7e2
cmp dword [esi + 0x10], eax
jg 0x4bb749
mov edi, esi
call fcn.0048c980
test eax, eax
je 0x4bb749
mov dword [esp + 0x1c], 1
jmp 0x4bb77c
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0xc]
inc dword [esi + 0xc]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x64]
mov byte [eax], 0x48
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bb79a
mov edi, esi
call fcn.0048c980
test eax, eax
je 0x4bb79a
mov ecx, 1
jmp 0x4bb7c5
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
jle 0x4bb833
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x4bb833
cmp dword [esi + 0x10], eax
jg 0x4bb7fc
mov edi, esi
call fcn.0048c980
test eax, eax
je 0x4bb7fc
mov dword [esp + 0x4c], 1
jmp 0x4bb833
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0xc]
inc dword [esi + 0xc]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov byte [eax], 0x32
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x54], ebx
je 0x4bbf9b
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bb858
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb88b
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov byte [eax], 0x2e
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x15]
test cl, cl
jne 0x4bb89d
inc dword [eax + 0x48]
mov ecx, dword [eax + 0x48]
jmp 0x4bb8a9
dec cl
movzx edx, cl
mov byte [eax + 0x15], cl
mov ecx, dword [eax + edx*4 + 0x18]
mov dword [esp + 0x20], ecx
mov cl, byte [eax + 0x15]
test cl, cl
jne 0x4bb8bc
inc dword [eax + 0x48]
mov edx, dword [eax + 0x48]
jmp 0x4bb8c8
dec cl
mov byte [eax + 0x15], cl
movzx ecx, cl
mov edx, dword [eax + ecx*4 + 0x18]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0xc], eax
jg 0x4bb8e7
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb916
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], 0x28
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x80], ebx
jne 0x4bb955
cmp dword [esi + 0x10], eax
jg 0x4bb936
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb998
mov eax, dword [esp + 0xc]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x77
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
jmp 0x4bb986
cmp dword [esi + 0x10], eax
jg 0x4bb969
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb998
mov eax, dword [esp + 0xc]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
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], 0
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bb9b3
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bb9e6
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x70]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x20]
mov byte [eax], 0x6e
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x60], ebx
je 0x4bbacb
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc]
push ecx
push edx
push eax
call fcn.0049b350
mov ecx, dword [ebp + 8]
add esp, 0xc
cmp eax, dword [esp + 0x20]
je 0x4bba2f
mov edx, dword [ecx + 0xc]
cmp edx, ebx
je 0x4bba2f
mov ecx, dword [esp + 0x20]
push ebx
push ecx
push eax
push 9
mov eax, edx
call fcn.0048ca00
mov ecx, dword [ebp + 8]
add esp, 0x10
mov edx, dword [esp + 0x34]
cmp byte [edx], 0x84
je 0x4bba98
inc dword [ecx + 0x48]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bba57
call fcn.0048c980
test eax, eax
jne 0x4bba8a
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0xc]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov byte [eax], 0x14
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [edi + 0x6e], 0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x18], ecx
mov byte [eax], 0x84
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bbaaf
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbb15
mov eax, dword [esp + 0xc]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x26
mov dword [eax + 8], ebx
jmp 0x4bbb00
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bbae6
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbb15
mov eax, dword [esp + 0xc]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax], 0x28
mov dword [eax + 8], edx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
mov edi, dword [eax + 0x38]
cmp ecx, edi
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], edx
jg 0x4bbb7d
lea edi, [eax + 0x70]
xor ecx, ecx
mov dword [esp + 0x1c], edi
lea ebx, [ebx]
mov edi, dword [esp + 0x1c]
cmp dword [edi], edx
jl 0x4bbb5b
mov edi, dword [eax + 0x38]
lea edx, [edx + edi - 1]
mov edi, dword [esp + 0x1c]
cmp dword [edi], edx
jle 0x4bbb79
mov edx, dword [esp + 0x40]
add dword [esp + 0x1c], 0x18
inc ecx
cmp ecx, 0xa
jl 0x4bbb40
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
add edx, edi
sub ecx, edi
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], ecx
jmp 0x4bbb8c
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0x48]
lea edi, [edx + 1]
add edx, ecx
mov dword [esp + 0x40], edi
mov dword [eax + 0x48], edx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], ebx
mov dword [esp + 0x14], ebx
jle 0x4bbdcc
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [edx + 8]
jne 0x4bbbe9
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bbbcd
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbdb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x3c]
inc dword [esi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 8], edx
jmp 0x4bbd98
cmp ecx, 0x20
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
jge 0x4bbc02
mov edx, 1
shl edx, cl
test dword [esp + 0x7c], edx
jne 0x4bbc0d
cmp dword [esp + 0x7c], 0xffffffff
jne 0x4bbd6a
cmp eax, ebx
jge 0x4bbc77
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], eax
jg 0x4bbc30
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbc5f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov byte [eax], 3
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 0xffffffffffffffff
push edx
call fcn.004ba980
add esp, 8
jmp 0x4bbdb0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
push edi
push eax
push ecx
mov dword [esp + 0x18], eax
call fcn.0049b350
add esp, 0xc
mov dword [esp + 0x24], eax
cmp eax, edi
je 0x4bbcf6
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x4bbcf6
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x1c], eax
jg 0x4bbcc3
call fcn.0048c980
test eax, eax
jne 0x4bbcf6
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 9
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [edi + 0x6e], cl
mov eax, dword [esp + 0xc]
cmp byte [eax], 0x84
je 0x4bbdb0
mov eax, dword [ebp + 8]
inc dword [eax + 0x48]
mov ecx, dword [eax + 0x48]
mov eax, dword [ebx + 0xc]
cmp dword [ebx + 0x10], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
jg 0x4bbd27
mov edi, ebx
call fcn.0048c980
test eax, eax
jne 0x4bbd5a
inc dword [ebx + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 0x14
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebx + 0x6e], cl
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x18], ecx
mov byte [eax], 0x84
jmp 0x4bbdb0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bbd81
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbdb0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
inc dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov byte [eax], 0x77
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc dword [esp + 0x3c]
inc eax
xor ebx, ebx
cmp eax, dword [edx + 0xc]
mov dword [esp + 0x14], eax
jl 0x4bbba5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
jg 0x4bbdee
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbe25
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x40]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x4f
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov edi, dword [ebp + 8]
cmp dword [esp + 0x78], ebx
jne 0x4bbe73
mov eax, dword [esp + 0x10]
push esi
call fcn.004a9790
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax - 1]
mov dword [esp + 0x28], edx
add esp, 4
lea eax, [edi + 0x68]
mov edx, 0xa
mov ecx, dword [eax + 8]
cmp ecx, dword [esp + 0x40]
jl 0x4bbe68
cmp ecx, dword [esp + 0x24]
jg 0x4bbe68
mov byte [eax], 1
add eax, 0x18
sub edx, 1
jne 0x4bbe56
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp eax, dword [edi + 0x38]
jle 0x4bbe89
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bbea4
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbed7
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
mov byte [eax], 0x6e
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esp + 0x20]
mov edi, dword [ebp + 8]
cmp edx, ebx
je 0x4bbf0d
cmp byte [edi + 0x15], 8
jae 0x4bbf0d
xor eax, eax
lea ecx, [edi + 0x60]
lea ecx, [ecx]
cmp dword [ecx + 0x10], edx
je 0x4bc12c
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4bbef0
movzx eax, byte [edi + 0x15]
mov dword [edi + eax*4 + 0x18], edx
inc byte [edi + 0x15]
mov edx, dword [esp + 0x30]
cmp edx, ebx
je 0x4bbf3d
cmp byte [edi + 0x15], 8
jae 0x4bbf3d
xor eax, eax
lea ecx, [edi + 0x60]
cmp dword [ecx + 0x10], edx
je 0x4bc135
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x4bbf20
movzx ecx, byte [edi + 0x15]
mov dword [edi + ecx*4 + 0x18], edx
inc byte [edi + 0x15]
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bbf58
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbf83
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x84]
mov eax, dword [esi + 0xc]
cmp eax, ecx
jle 0x4bbf9b
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x14]
mov dword [ecx + edx*4 + 8], eax
cmp dword [esp + 0x78], ebx
jne 0x4bc36b
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bbfc0
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bbff3
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov byte [eax], 0x2e
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x60], ebx
je 0x4bc0b3
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 8]
push edi
push edx
push eax
call fcn.0049b350
add esp, 0xc
mov dword [esp + 0x68], eax
cmp eax, edi
je 0x4bc06d
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0xc]
cmp edi, ebx
je 0x4bc06d
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bc03a
call fcn.0048c980
test eax, eax
jne 0x4bc06d
mov eax, dword [esp + 0x24]
inc dword [edi + 0xc]
mov ecx, dword [esp + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x44]
mov byte [eax], 9
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [edi + 0x6e], 0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x24], eax
jg 0x4bc084
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc0b3
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x26
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], ebx
mov dword [esp + 0x14], ebx
jle 0x4bc241
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea esp, [esp]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [edx + 8]
jne 0x4bc13e
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc0f8
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc227
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x77
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
jmp 0x4bc227
mov byte [ecx + 9], 1
jmp 0x4bbf0d
mov byte [ecx + 9], 1
jmp 0x4bbf3d
mov eax, dword [esp + 0x48]
mov eax, dword [eax + ecx*4]
cmp eax, ebx
jge 0x4bc1af
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc168
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc197
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x34]
mov byte [eax], 3
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x1c]
call fcn.004ba980
add esp, 8
jmp 0x4bc227
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 8]
push edi
push eax
push ecx
call fcn.0049b350
add esp, 0xc
mov dword [esp + 0x24], eax
cmp eax, edi
je 0x4bc227
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0xc]
cmp edi, ebx
je 0x4bc227
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc1f4
call fcn.0048c980
test eax, eax
jne 0x4bc227
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
mov byte [eax], 9
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [edi + 0x6e], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc dword [esp + 0x34]
inc eax
cmp eax, dword [edx + 0xc]
mov dword [esp + 0x14], eax
jl 0x4bc0d0
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x60]
push ebx
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x50]
push 1
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call fcn.004ab8c0
mov ecx, dword [esi + 0xc]
add esp, 0x28
cmp dword [esi + 0x10], ecx
mov dword [esp + 0x18], ecx
jg 0x4bc297
mov edi, esi
call fcn.0048c980
test eax, eax
je 0x4bc293
mov dword [esp + 0x68], 1
jmp 0x4bc2ca
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x14]
inc dword [esi + 0xc]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov byte [eax], 0x2e
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
call fcn.004a6ab0
add esp, 0xc
cmp dword [esp + 0x60], ebx
je 0x4bc330
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc305
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc330
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5b
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jle 0x4bc345
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
push ebx
push ebx
push 0xffffffffffffffff
push 1
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call fcn.004ac530
add esp, 0x24
mov edx, dword [esp + 0x28]
test byte [edx + 0xc], 0x80
je 0x4bc3cb
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1dc], ebx
jne 0x4bc3cb
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc39b
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc3cb
mov eax, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x5c]
mov ecx, 1
add dword [esi + 0xc], ecx
mov byte [eax], 0x2a
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x54], ebx
je 0x4bc42f
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc3ec
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc417
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov ecx, dword [esp + 0x88]
mov eax, dword [esi + 0xc]
cmp eax, ecx
jle 0x4bc42f
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc446
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc475
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x60
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jle 0x4bc48a
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x4bc514
lea ecx, [ecx]
cmp dword [esp + 0x74], ebx
jne 0x4bc4b3
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x14]
cmp dword [ecx + edx*4], ebx
jle 0x4bc501
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc4ce
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc501
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x14]
inc dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
lea edx, [edx + ecx + 1]
mov byte [eax], 0x21
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x4bc4a0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc52f
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc55a
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 0x14]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x21
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
cmp dword [esp + 0x54], ebx
je 0x4bc5f0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc57f
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc5aa
mov eax, dword [esp + 0x18]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x21
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x10], eax
mov dword [esp + 0x18], eax
jg 0x4bc5c5
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc5f0
mov eax, dword [esp + 0x18]
inc dword [esi + 0xc]
mov ecx, dword [esp + 0x70]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea eax, [eax + edx*4]
mov byte [eax], 0x21
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0
mov byte [esi + 0x6e], 0
mov edi, dword [ebp + 8]
cmp byte [edi + 0x13], 0
jne 0x4bc60a
cmp dword [edi + 0x1dc], ebx
jne 0x4bc60a
push edi
call fcn.004a9d40
add esp, 4
mov edx, dword [esp + 0x28]
test byte [edx + 0xc], 0x80
je 0x4bc84a
cmp dword [edi + 0x1dc], 0
jne 0x4bc84a
cmp byte [edi + 0x13], 0
jne 0x4bc84a
mov ebx, dword [esi + 0xc]
cmp dword [esi + 0x10], ebx
jg 0x4bc642
mov edi, esi
call fcn.0048c980
test eax, eax
jne 0x4bc671
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x5c]
mov edx, 1
add dword [esi + 0xc], edx
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0x5a
mov byte [eax + 3], cl
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [esi + 0x6e], cl
push 1
mov ebx, esi
call fcn.0048db20
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
add esp, 4
cmp byte [edx + 0x1e], 0
jne 0x4bae3d
mov esi, dword [eax + 0x28]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4bc69c
mov eax, dword [eax + 0x48]
jmp 0x4bc6a1
mov eax, 0x3b9aca00
xor edi, edi
mov dword [esp + 0x5c], edi
test eax, eax
jl 0x4bc6c2
jmp 0x4bc6b0
cmp byte [edi + str.rows_updated], 0
je 0x4bc6be
inc edi
cmp edi, eax
jle 0x4bc6b0
mov dword [esp + 0x5c], edi
movzx ecx, word [esi + 0x1c]
xor eax, eax
mov ebx, 0x202
cmp eax, fcn.00478e80
jne 0x4bc790
test ecx, 0x2420
je 0x4bc72d
test ecx, 0x2000
je 0x4bc6fc
mov eax, dword [esi]
mov ecx, esi
call fcn.0048b930
push esi
call fcn.0048ba00
add esp, 4
jmp 0x4bc72d
test ecx, 0x400
je 0x4bc71d
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4bc71d
mov ecx, dword [esi + 0x14]
push ecx
call eax
add esp, 4
mov dword [esi + 0x20], 0
jmp 0x4bc72d
test cl, 0x20
je 0x4bc72d
mov edi, dword [esi]
call fcn.0047e8a0
mov edi, dword [esp + 0x5c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x24]
test eax, eax
je 0x4bc773
test ecx, ecx
je 0x4bc773
cmp ecx, dword [eax + 0xe8]
jb 0x4bc773
cmp ecx, dword [eax + 0xec]
jae 0x4bc773
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
mov eax, str.rows_updated
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0
jmp 0x4bc833
push ecx
call fcn.00478e00
mov eax, str.rows_updated
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], 0
jmp 0x4bc833
test ecx, 0x2420
je 0x4bc7e5
test ecx, 0x2000
je 0x4bc7b4
mov eax, dword [esi]
mov ecx, esi
call fcn.0048b930
push esi
call fcn.0048ba00
add esp, 4
jmp 0x4bc7e5
test ecx, 0x400
je 0x4bc7d5
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4bc7d5
mov ecx, dword [esi + 0x14]
push ecx
call eax
add esp, 4
mov dword [esi + 0x20], 0
jmp 0x4bc7e5
test cl, 0x20
je 0x4bc7e5
mov edi, dword [esi]
call fcn.0047e8a0
mov edi, dword [esp + 0x5c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x24]
test eax, eax
je 0x4bc819
test ecx, ecx
je 0x4bc819
cmp ecx, dword [eax + 0xe8]
jb 0x4bc819
cmp ecx, dword [eax + 0xec]
jae 0x4bc819
mov edx, dword [eax + 0xe4]
mov dword [ecx], edx
dec dword [eax + 0xdc]
mov dword [eax + 0xe4], ecx
jmp 0x4bc822
push ecx
call fcn.00478e00
add esp, 4
xor eax, eax
mov dword [esi + 0x14], str.rows_updated
mov dword [esi + 0x20], eax
mov ebx, 0xa02
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], edi
mov word [esi + 0x1c], bx
mov byte [esi + 0x1f], 1
mov byte [esi + 0x1e], 3
jmp 0x4bae3d
mov esi, edx
jmp 0x4bae41
mov esi, eax
jmp 0x4bae41
push eax
call fcn.00478e00
add esp, 4
mov eax, dword [esp + 0x48]
test esi, esi
je 0x4bc893
test eax, eax
je 0x4bc893
cmp eax, dword [esi + 0xe8]
jb 0x4bc893
cmp eax, dword [esi + 0xec]
jae 0x4bc893
mov ecx, dword [esi + 0xe4]
mov dword [eax], ecx
dec dword [esi + 0xdc]
mov dword [esi + 0xe4], eax
jmp 0x4bc89c
push eax
call fcn.00478e00
add esp, 4
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x28]
push edx
mov eax, esi
call fcn.004a49c0
mov ebx, dword [ebp + 0x10]
add esp, 4
call fcn.00499d70
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4bc912
push edi
push esi
call fcn.004991f0
mov ax, word [edi + 2]
mov ecx, 0x8000
and ax, cx
mov edx, ecx
add esp, 8
cmp ax, dx
je 0x4bc912
test esi, esi
je 0x4bc909
cmp edi, dword [esi + 0xe8]
jb 0x4bc909
cmp edi, dword [esi + 0xec]
jae 0x4bc909
mov eax, dword [esi + 0xe4]
mov dword [edi], eax
dec dword [esi + 0xdc]
mov dword [esi + 0xe4], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.00478e00
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret