Function at 0x4b5730
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x114
xor eax, eax
mov dword [esp + 0x88], 0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x124]
push edi
xor edi, edi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa4], edi
mov ebp, dword [esi]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x3c], ebp
cmp dword [esi + 0x24], eax
jne 0x4b79d4
cmp byte [ebp + 0x51], al
jne 0x4b79d4
push dword [esp + 0x12c]
push esi
call fcn.004b3eb0
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x4b79d4
push dword [ebx + 0x48]
push dword [esi]
call fcn.004b0720
mov dword [esp + 0x80], eax
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x13c]
push 0x7f
push ebx
push esi
call fcn.004b5240
mov dword [esp + 0x5c], eax
add esp, 0x1c
xor eax, eax
cmp dword [ebx + 0xc], eax
setne al
mov dword [esp + 0x88], eax
test eax, eax
jne 0x4b585b
push str.UPDATE
push dword [esp + 0x144]
push dword [esp + 0x144]
push dword [esp + 0x140]
push dword [esp + 0x13c]
push esi
call fcn.004a6680
add esp, 0x18
mov dword [esp + 0x90], edi
mov dword [esp + 0x80], edi
jmp 0x4b587e
mov eax, dword [esp + 0x140]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x134]
push ebx
push esi
mov dword [esp + 0x34], eax
call fcn.004c4050
add esp, 8
test eax, eax
jne 0x4b5d88
push dword [esp + 0xa8]
push ebx
push esi
call fcn.004a5a30
add esp, 0xc
test eax, eax
jne 0x4b5d88
mov edi, dword [esi + 0x28]
mov ecx, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x8c], ecx
lea edx, [edi + 1]
mov dword [esi + 0x28], edx
test byte [ebx + 0x24], 0x80
mov dword [esp + 0x84], edx
jne 0x4b58d6
mov dword [esp + 0x44], eax
jmp 0x4b58e5
push ebx
call fcn.004ae020
add esp, 4
mov dword [esp + 0x44], eax
mov ecx, edi
mov eax, dword [ebx + 8]
xor ebp, ebp
mov dword [esp + 0x54], ebp
test eax, eax
je 0x4b590e
cmp dword [esp + 0x44], eax
jne 0x4b58fa
mov edi, edx
inc edx
inc ebp
mov dword [esi + 0x28], edx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4b58f2
mov dword [esp + 0x14], edi
mov dword [esp + 0x54], ebp
mov eax, dword [esp + 0x144]
test eax, eax
je 0x4b592d
mov edi, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x14], edi
mov dword [esp + 0x84], eax
mov dword [esi + 0x28], ecx
mov eax, dword [esp + 0x12c]
push 0
mov dword [eax + 0x34], edi
movsx eax, word [ebx + 0x2a]
add eax, ebp
lea eax, [eax*4 + 6]
add eax, ebp
push eax
push dword [esp + 0x44]
call fcn.00491d60
mov edi, eax
add esp, 0xc
mov dword [esp + 0x20], edi
test edi, edi
je 0x4b5d84
movsx eax, word [ebx + 0x2a]
lea eax, [edi + eax*4]
lea ecx, [eax + 4]
mov dword [esp + 0x6c], eax
lea eax, [ebp + 1]
push eax
lea ecx, [ecx + ebp*4]
push 1
push ecx
mov dword [esp + 0x7c], ecx
call sub.MSVCRT.dll_memset
mov eax, dword [esp + 0x7c]
add esp, 0xc
xor ecx, ecx
mov byte [eax + ebp + 1], 0
xor eax, eax
cmp ax, word [ebx + 0x2a]
jge 0x4b59b0
lea ebx, [ebx]
mov dword [edi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [ebx + 0x2a]
cmp ecx, eax
jl 0x4b59a0
mov ebp, dword [esi + 8]
xor eax, eax
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x100], 0x200
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x4b5a4b
cmp dword [esi + 0x74], ebp
jne 0x4b5a34
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x4b5a34
mov byte [esi + 0x17], 1
push esi
call fcn.004b9430
mov ebp, eax
mov dword [esp + 0x14], eax
add esp, 4
test ebp, ebp
je 0x4b5d84
mov ecx, dword [esp + 0x130]
xor ebx, ebx
xor al, al
mov byte [esp + 0x33], 0
mov byte [esp + 0x1b], al
mov dword [esp + 0x58], ebx
cmp dword [ecx], ebx
jle 0x4b5c4f
lea esi, [ecx + 4]
mov dword [esp + 0x34], esi
push dword [esi]
lea eax, [esp + 0xec]
push eax
call fcn.004aefc0
add esp, 8
test eax, eax
jne 0x4b5d80
mov edx, dword [esp + 0x1c]
xor edi, edi
movsx eax, word [edx + 0x2a]
test eax, eax
jle 0x4b5b1b
mov eax, dword [edx + 4]
mov ebx, eax
mov dword [esp + 0x64], eax
mov esi, dword [esi + 4]
mov edx, dword [ebx]
sub esi, edx
mov edi, edi
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4b5aee
test ecx, ecx
jne 0x4b5b00
mov edx, dword [esp + 0x1c]
movsx eax, word [edx + 0x28]
cmp edi, eax
jne 0x4b5b8b
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
mov byte [esp + 0x1b], 1
mov eax, dword [esi]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x20]
mov dword [eax + edi*4], ebx
jmp 0x4b5b1b
movzx eax, byte [eax + 0x4e9aa0]
movzx ecx, byte [ecx + 0x4e9aa0]
sub ecx, eax
jne 0x4b5b03
inc edx
jmp 0x4b5ab0
mov edx, dword [esp + 0x1c]
inc edi
mov esi, dword [esp + 0x34]
add ebx, 0x14
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x4b5aa7
mov ebx, dword [esp + 0x58]
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x4b5bdb
cmp dword [esp + 0x44], 0
jne 0x4b5dd7
mov esi, dword [esi + 4]
push str._ROWID_
push esi
call fcn.004b47c0
add esp, 8
test eax, eax
je 0x4b5b6f
push str.ROWID
push esi
call fcn.004b47c0
add esp, 8
test eax, eax
je 0x4b5b6f
push 0x4f03a8
push esi
call fcn.004b47c0
add esp, 8
test eax, eax
jne 0x4b5dd7
mov esi, dword [esp + 0x34]
or edi, 0xffffffff
mov byte [esp + 0x1b], 1
mov edx, str.ROWID
mov eax, dword [esi]
mov dword [esp + 0xa4], eax
jmp 0x4b5bef
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 0x64]
je 0x4b5bb9
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 1
je 0x4b5bb9
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
mov byte [esp + 0x33], 1
mov dword [eax + edi*4], ebx
jmp 0x4b5b1b
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x4b5d63
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
mov dword [eax + edi*4], ebx
jmp 0x4b5b1b
test edi, edi
jns 0x4b5be6
mov edx, str.ROWID
jmp 0x4b5bef
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x78]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x20]
push edx
push dword [eax]
push 0x17
push dword [esp + 0x138]
call fcn.00489d80
add esp, 0x14
cmp eax, 1
je 0x4b5d80
cmp eax, 2
jne 0x4b5c30
mov eax, dword [esp + 0x20]
mov dword [eax + edi*4], 0xffffffff
mov ecx, dword [esp + 0x130]
inc ebx
add esi, 0x14
mov dword [esp + 0x58], ebx
mov dword [esp + 0x34], esi
cmp ebx, dword [ecx]
jl 0x4b5a72
mov al, byte [esp + 0x1b]
mov edx, dword [esp + 0x1c]
mov bl, byte [esp + 0x33]
add bl, al
mov byte [esp + 0x58], bl
test byte [edx + 0x24], 0x60
je 0x4b5d4e
mov ebp, dword [esp + 0x20]
jmp 0x4b5c70
xor eax, eax
xor ebx, ebx
xor esi, esi
cmp ax, word [edx + 0x2a]
jge 0x4b5d46
xor edi, edi
cmp dword [ebp + esi*4], 0
jge 0x4b5d2e
mov eax, dword [edx + 4]
test byte [eax + edi + 0x10], 0x60
je 0x4b5d2e
mov ecx, dword [eax + edi + 4]
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov word [esp + 0xd0], ax
mov dword [esp + 0xc0], 0x455d20
mov dword [esp + 0xd4], ebp
test ecx, ecx
je 0x4b5d0d
push ecx
lea eax, [esp + 0xc0]
push eax
call fcn.004d6ac0
mov ax, word [esp + 0xd8]
add esp, 8
mov edx, dword [esp + 0x1c]
cmp byte [esp + 0x1b], 0
jne 0x4b5d1c
mov ecx, 0xfffd
and ax, cx
test ax, ax
je 0x4b5d2e
mov dword [ebp + esi*4], 0x1869f
mov ebx, 1
movsx eax, word [edx + 0x2a]
inc esi
add edi, 0x14
cmp esi, eax
jl 0x4b5c82
test ebx, ebx
jne 0x4b5c70
mov ebp, dword [esp + 0x10]
mov bl, byte [esp + 0x58]
cmp dword [edx + 0x38], 0
je 0x4b5e00
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x4b5e04
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
push dword [eax + ecx*4]
push str.cannot_UPDATE_generated_column___s_
push dword [esp + 0x130]
call fcn.00493e20
add esp, 0xc
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x130]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x4b5dab
mov ecx, dword [esp + 0xe0]
mov dword [eax + 0xf0], ecx
test edi, edi
je 0x4b7aa4
test ebp, ebp
je 0x4b7a4f
cmp dword [ebp + 0x1f8], 0
je 0x4b7a17
push edi
push ebp
call fcn.00478920
add esp, 8
jmp 0x4b7aa4
mov ecx, dword [esp + 0x130]
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 0x128]
push dword [ecx + eax*4 + 8]
push str.no_such_column:__s
push ebx
call fcn.00493e20
add esp, 0xc
mov byte [ebx + 0x11], 1
jmp 0x4b5d80
xor eax, eax
xor ecx, ecx
mov esi, dword [esp + 0x12c]
mov dword [esi + 0x40], eax
movzx eax, bl
push eax
push dword [esp + 0x24]
mov dword [esi + 0x44], ecx
push edx
push dword [esp + 0x134]
mov dword [esp + 0xac], eax
call fcn.0049af10
add esp, 0x10
mov edi, eax
cmp dword [esp + 0x138], 5
mov dword [esp + 0x50], edi
jne 0x4b5e48
mov dword [esp + 0x74], 1
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov esi, dword [eax + 8]
test esi, esi
je 0x4b605a
lea ecx, [ecx]
cmp byte [esp + 0x58], 0
jne 0x4b6018
cmp edi, 1
jg 0x4b6018
cmp esi, dword [esp + 0x44]
je 0x4b6018
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4b5f12
xor ecx, ecx
push eax
mov dword [esp + 0xd4], ecx
lea eax, [esp + 0xc0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov word [esp + 0xd4], cx
mov ecx, dword [esp + 0x24]
push eax
mov dword [esp + 0xc8], 0x455d20
mov dword [esp + 0xdc], ecx
call fcn.004d6ac0
mov cx, word [esp + 0xd8]
add esp, 8
cmp byte [esp + 0x1b], 0
jne 0x4b5f02
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4b6018
xor eax, eax
xor ebp, ebp
xor edi, edi
cmp ax, word [esi + 0x32]
jae 0x4b6032
xor ebx, ebx
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x20]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x4b5f42
cwde
xor ecx, ecx
cmp dword [edx + eax*4], ecx
setge cl
jmp 0x4b5fca
mov eax, dword [esi + 0x28]
mov ecx, dword [eax + ebx + 4]
xor eax, eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov word [esp + 0x11c], ax
mov dword [esp + 0x10c], 0x455d20
mov dword [esp + 0x120], edx
test ecx, ecx
je 0x4b5fb3
push ecx
lea eax, [esp + 0x10c]
push eax
call fcn.004d6ac0
mov ax, word [esp + 0x124]
add esp, 8
cmp byte [esp + 0x1b], 0
jne 0x4b5fc2
mov ecx, 0xfffd
and ax, cx
xor ecx, ecx
test ax, ax
setne cl
test ecx, ecx
jne 0x4b5fe4
movzx eax, word [esi + 0x32]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x4b5f24
mov ebx, dword [esp + 0x28]
jmp 0x4b6032
mov ecx, dword [esp + 0x128]
mov ebx, dword [esp + 0x28]
inc dword [ecx + 0x2c]
movzx eax, word [esi + 0x34]
mov ebp, dword [ecx + 0x2c]
add eax, ebp
cmp dword [esp + 0x138], 0xb
mov dword [ecx + 0x2c], eax
jne 0x4b602e
cmp byte [esi + 0x36], 5
jne 0x4b602e
mov dword [esp + 0x74], 1
jmp 0x4b602e
mov ecx, dword [esp + 0x128]
inc dword [ecx + 0x2c]
movzx eax, word [esi + 0x34]
mov ebp, dword [ecx + 0x2c]
add eax, ebp
mov dword [ecx + 0x2c], eax
test ebp, ebp
jne 0x4b603b
mov eax, dword [esp + 0x70]
mov byte [ebx + eax + 1], 0
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
mov dword [eax + ebx*4], ebp
inc ebx
mov esi, dword [esi + 0x14]
mov dword [esp + 0x28], ebx
test esi, esi
jne 0x4b5e60
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x6c]
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + ebx*4], eax
cmp dword [esp + 0x74], 0
je 0x4b6089
mov eax, dword [esp + 0x54]
inc eax
push eax
push 1
push dword [esp + 0x78]
call sub.MSVCRT.dll_memset
add esp, 0xc
cmp byte [esi + 0x12], 0
jne 0x4b6096
or dword [ebp + 0x98], 0x20
cmp dword [esp + 0x40], 0
jne 0x4b60a9
mov dword [esp + 0x64], 0
test edi, edi
je 0x4b60b1
mov dword [esp + 0x64], 1
mov edx, dword [esi + 0x74]
mov edi, edx
test edx, edx
jne 0x4b60be
mov edi, esi
mov edx, esi
mov ecx, dword [esp + 0x78]
mov esi, 1
mov ebx, dword [edx + 0x54]
shl esi, cl
test ebx, esi
jne 0x4b60e5
mov eax, esi
or eax, ebx
mov dword [edx + 0x54], eax
cmp ecx, 1
jne 0x4b60e5
push edx
call fcn.004a8230
add esp, 4
or dword [edi + 0x50], esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
or byte [edi + 0x14], al
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x38], 0
mov edi, dword [esp + 0x128]
jne 0x4b6177
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + ebx*4]
inc dword [edi + 0x2c]
cmp byte [esp + 0x33], 0
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x24], edx
jne 0x4b6134
test ecx, ecx
jne 0x4b6134
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4b614b
lea eax, [edx + 1]
mov dword [esp + 0xa0], eax
movsx eax, word [esi + 0x2a]
add eax, edx
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x58], 0
jne 0x4b615a
test ecx, ecx
jne 0x4b615a
test eax, eax
je 0x4b6164
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x4c], eax
mov ecx, dword [edi + 0x2c]
lea eax, [ecx + 1]
mov dword [esp + 0x7c], eax
movsx eax, word [esi + 0x2a]
add eax, ecx
mov dword [edi + 0x2c], eax
cmp dword [esp + 0x88], 0
je 0x4b61d5
push dword [esp + 0x14]
mov eax, edi
push dword [esp + 0x84]
mov dword [esp + 0xe0], eax
push dword [esp + 0x98]
mov eax, dword [edi + 0xf0]
push dword [esp + 0x38]
mov dword [esp + 0xf0], eax
mov eax, dword [esi]
push esi
push edi
mov dword [edi + 0xf0], eax
call fcn.004a76e0
add esp, 0x18
mov dword [esp + 0x90], 0
mov dword [esp + 0x80], 0
push dword [esp + 0x2c]
lea eax, [esp + 0xec]
push eax
call fcn.004aefc0
add esp, 8
test eax, eax
jne 0x4b5d80
cmp dword [esi + 0x38], eax
je 0x4b6232
push dword [esp + 0x138]
mov ebx, dword [esp + 0x134]
push dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0xb0]
push ebx
push esi
push dword [esp + 0x144]
push edi
call fcn.004cf8b0
mov edi, dword [esp + 0x40]
add esp, 0x20
mov ebp, dword [esp + 0x3c]
jmp 0x4b5d8f
mov eax, dword [esp + 0x3c]
dec dword [edi + 0x38]
mov edi, dword [edi + 0x38]
mov dword [esp + 0x34], edi
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
mov dword [esp + 0x60], edi
or eax, ecx
mov ecx, dword [esp + 0x128]
je 0x4b62ce
cmp dword [ecx + 0x78], 0
jne 0x4b62ce
cmp byte [ecx + 0x12], 0
jne 0x4b62ce
cmp dword [esp + 0x144], 0
jne 0x4b62ce
inc dword [ecx + 0x2c]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp + 0x6c]
mov dword [esp + 0xb0], edx
cmp dword [ebp + 0x70], ecx
jg 0x4b6294
push 0
push edx
push 0
push 0x45
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b62c7
mov ebx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x128]
test byte [esi + 0x24], 0x80
jne 0x4b63c4
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b62f7
push dword [esp + 0x24]
push dword [esp + 0x4c]
push 0
push 0x48
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b632a
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x144], 0
je 0x4b64f4
mov ecx, dword [esp + 0x128]
push 0x10
push edi
push dword [esp + 0x34]
mov esi, 1
mov dword [esp + 0x70], 0
push ecx
mov dword [esp + 0x38], esi
call fcn.00497630
mov edi, dword [esp + 0xf4]
add esp, 0x10
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0x78], 0
mov dword [esp + 0xb8], edi
mov dword [esp + 0xac], ebp
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
test byte [eax + 0x24], 0x80
jne 0x4b6681
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x4b65d5
push 0
push dword [esp + 0x28]
push dword [esp + 0x1c]
push 0x7f
push edx
call fcn.004752f0
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x4b6608
mov eax, dword [esp + 0x44]
movzx edx, word [eax + 0x32]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0xdc], edx
lea esi, [eax + 1]
inc eax
mov dword [esp + 0x68], esi
movsx esi, dx
add eax, esi
cmp dword [esp + 0x144], 0
mov dword [esp + 0x38], eax
mov dword [ecx + 0x2c], eax
jne 0x4b633f
mov eax, dword [ecx + 0x28]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
inc eax
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp + 0x6c]
lea edx, [edi - 1]
add edx, esi
cmp dword [ebp + 0x70], ecx
jg 0x4b6425
push edx
push edi
push 0
push 0x48
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b6454
mov ebx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp + 0x6c]
mov dword [esp + 0xb4], ecx
cmp dword [ebp + 0x70], ecx
jg 0x4b647e
push 0
push esi
push dword [esp + 0x64]
push 0x64
push ebp
call fcn.004752f0
add esp, 0x14
mov dword [esp + 0xb4], eax
jmp 0x4b64ad
mov edx, dword [esp + 0x5c]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x128]
push dword [esp + 0x44]
push edi
mov esi, dword [edi + 8]
call fcn.004a5e50
mov edx, eax
add esp, 8
test edx, edx
je 0x4b64fb
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4b64e0
push edx
push 0xfffffffffffffff7
push eax
call fcn.00462150
add esp, 0xc
jmp 0x4b64fb
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
jmp 0x4b64fb
mov edi, dword [esp + 0x128]
cmp byte [edi + 0x12], 0
mov eax, 0x1004
jne 0x4b6527
cmp dword [esp + 0x40], 0
jne 0x4b6527
cmp dword [esp + 0x50], 0
jne 0x4b6527
cmp byte [esp + 0x58], 0
jne 0x4b6527
cmp dword [esp + 0x74], 0
jne 0x4b6527
mov eax, 0x100c
push dword [esp + 0x84]
mov esi, dword [esp + 0x30]
push eax
push 0
push 0
push esi
push dword [esp + 0x140]
push edi
call fcn.004c6710
add esp, 0x1c
mov dword [esp + 0x64], eax
test eax, eax
je 0x4b7a03
movzx esi, byte [eax + 0x2e]
mov ebp, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x30]
and eax, 1
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb8], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x78], eax
cmp esi, 1
je 0x4b6384
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x4b6593
mov eax, ecx
mov ecx, dword [esp + 0x14]
mov byte [eax + 0x14], 1
cmp esi, 2
jne 0x4b6388
test edi, edi
js 0x4b6388
cmp edi, ecx
je 0x4b6388
mov edx, dword [esp + 0x70]
mov eax, edi
sub eax, dword [esp + 0x8c]
xor ecx, ecx
cmp byte [eax + edx], cl
setne cl
dec ecx
and esi, ecx
mov dword [esp + 0x28], esi
jmp 0x4b6384
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x7f
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test esi, esi
jne 0x4b6894
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x6c]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b6649
push esi
push edx
push dword [esp + 0x50]
push 0x93
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6898
mov edx, dword [esp + 0x48]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x93
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b6898
mov eax, dword [esp + 0xdc]
xor esi, esi
movsx ebx, ax
test ebx, ebx
jle 0x4b66d5
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
lea esp, [esp]
mov eax, dword [esp + 0x68]
add eax, esi
push eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push ecx
push ebp
push edi
call fcn.00494ce0
mov ecx, dword [esp + 0x28]
inc esi
add esp, 0x14
cmp esi, ebx
jl 0x4b66a0
mov edi, dword [esp + 0xb8]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4b6733
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x4b671f
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
cmp byte [edx + 0x51], 0
jne 0x4b671f
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
push dword [eax + ecx*4 + 0x10]
lea esi, [eax + ecx*4]
movsx eax, byte [esi + 1]
push eax
push edx
call fcn.00462150
mov word [esi], 0xad
add esp, 0xc
mov dword [esi + 0x10], 0
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x38], eax
jmp 0x4b6894
push dword [esp + 0x44]
push dword [esp + 0x40]
call fcn.004a3eb0
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, eax
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jg 0x4b6769
push dword [esp + 0x38]
push ebx
push dword [esp + 0x70]
push 0x5b
push ecx
call fcn.004752f0
add esp, 0x14
mov edx, eax
jmp 0x4b67a3
mov edi, dword [esp + 0x68]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp byte [eax + 0x51], 0
je 0x4b67c1
cmp ebx, 0xfffffff4
je 0x4b680d
push esi
push ebx
push eax
call fcn.00462150
add esp, 0xc
jmp 0x4b680d
test edx, edx
jns 0x4b67c9
mov edx, dword [ecx + 0x6c]
dec edx
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x68]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x4b6801
cmp byte [eax + 1], 0
jne 0x4b6801
cmp ebx, 0xfffffffd
jne 0x4b67ed
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
jmp 0x4b680d
test esi, esi
je 0x4b680d
mov dword [eax + 0x10], esi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x4b680d
inc dword [esi + 0xc]
jmp 0x4b680d
push ebx
push esi
push eax
push edx
call fcn.004d0560
add esp, 0x10
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x6c]
cmp dword [eax + 0x70], edx
jg 0x4b683b
push dword [esp + 0x68]
push dword [esp + 0x3c]
push dword [esp + 0x64]
push 0x83
push eax
call fcn.004752f0
mov esi, dword [esp + 0x24]
add esp, 0x14
mov edx, eax
jmp 0x4b6879
mov esi, dword [esp + 0x10]
lea eax, [edx + 1]
mov ebp, dword [esp + 0x5c]
lea ecx, [edx + edx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x38]
mov dword [eax + ecx*4 + 8], ebp
mov ebp, dword [esp + 0x68]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4b6890
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x144], 0
jne 0x4b6bdf
cmp esi, 2
je 0x4b68b7
push dword [esp + 0x64]
call fcn.004c9130
add esp, 4
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4b69b4
mov ecx, dword [esp + 0x28]
xor esi, esi
test ecx, ecx
je 0x4b68f6
mov edx, dword [esp + 0x70]
test ebp, ebp
js 0x4b68e5
mov eax, ebp
sub eax, dword [esp + 0x8c]
mov byte [eax + edx], 0
test edi, edi
js 0x4b68f6
mov eax, edi
sub eax, dword [esp + 0x8c]
mov byte [eax + edx], 0
cmp ecx, 2
jne 0x4b695c
mov ecx, dword [esp + 0x54]
xor eax, eax
test edi, edi
setns al
sub ecx, eax
test ecx, ecx
jle 0x4b695c
mov esi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], esi
jg 0x4b6929
push 0
push 0
push 0
push 0x11
push ebx
call fcn.004752f0
add esp, 0x14
mov esi, eax
jmp 0x4b695c
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push 0
push dword [esp + 0x78]
push dword [esp + 0x98]
push 0
push 0x61
push dword [esp + 0x34]
push dword [esp + 0x144]
call fcn.004a8020
add esp, 0x20
test esi, esi
je 0x4b69a9
mov edx, dword [ebx + 0x6c]
jns 0x4b698e
lea esi, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x4b699d
mov eax, 0x50e22c
jmp 0x4b69a6
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4b6a56
test eax, eax
jne 0x4b69eb
mov eax, dword [esp + 0x14]
cmp ebp, eax
je 0x4b69eb
mov ebp, dword [esp + 0x38]
cmp edi, eax
mov edi, dword [esp + 0x34]
je 0x4b69f3
push dword [esp + 0x94]
push ebp
push edi
push eax
push 0x1d
push ebx
call fcn.004b8b70
add esp, 0x18
jmp 0x4b69f3
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
cmp esi, 1
je 0x4b6a09
mov eax, dword [esp + 0x128]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x60], eax
cmp dword [esp + 0x44], 0
mov edx, ebp
jne 0x4b6a16
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b6a32
push 0
push edi
push edx
push 0x32
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6bdf
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x4b6bd3
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
je 0x4b6b41
mov ebp, dword [esp + 0x128]
dec dword [ebp + 0x38]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x60], ebx
cmp dword [esi + 0x70], ecx
jg 0x4b6a9a
push 0
push edi
push dword [esp + 0x64]
push 0x25
push esi
call fcn.004752f0
mov edx, dword [esp + 0x70]
add esp, 0x14
jmp 0x4b6ac9
mov edx, dword [esp + 0x5c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x6c]
mov dword [esp + 0x98], edi
cmp dword [esi + 0x70], edi
jg 0x4b6af3
push 0
push dword [esp + 0x3c]
push edx
push 0x7e
push esi
call fcn.004752f0
add esp, 0x14
mov dword [esp + 0x98], eax
jmp 0x4b6b22
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x7e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x3c]
push ebx
push dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
push 0x1d
push ebx
call fcn.004b8b70
add esp, 0x18
jmp 0x4b6bea
mov ebx, dword [ebx + 0x6c]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x60], ebx
cmp dword [esi + 0x70], ebx
jg 0x4b6b6a
push ebp
push edi
push dword [esp + 0x50]
push 0x2a
push esi
call fcn.004752f0
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x60], ebx
jmp 0x4b6b95
mov edx, dword [esp + 0x48]
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x2a
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4b6bb4
push ebp
push ebx
push dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
push 0x20
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6be3
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 4], edx
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x128]
cmp byte [esp + 0x1b], 0
je 0x4b6cd2
push dword [esp + 0x4c]
mov edi, dword [esp + 0xa8]
push edi
push ebp
call fcn.00495e40
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x4c]
cmp esi, eax
je 0x4b6c85
mov edx, dword [ebp + 8]
test edx, edx
je 0x4b6c85
mov ecx, dword [edi + 4]
and ecx, 0x200000
neg ecx
sbb cl, cl
add cl, 0x4e
movzx ebx, cl
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x4b6c46
push 0
push eax
push esi
push ebx
push edx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6c7d
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x4c]
mov byte [eax + ecx*4], bl
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b6c9f
push 0
push 0
push eax
push 0xf
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6cd2
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x33], 0
jne 0x4b6d83
cmp dword [esp + 0x50], 0
jne 0x4b6d8e
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4b6ebd
xor ebx, ebx
push dword [esp + 0x138]
push dword [esp + 0x20]
push 3
push 0
push dword [esp + 0x140]
push dword [esp + 0x54]
push ebp
call fcn.004b4e50
mov ecx, dword [esp + 0x38]
or ebx, eax
xor eax, eax
mov dword [esp + 0x70], ebx
add esp, 0x1c
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x4b6e55
xor ebp, ebp
mov edi, ebx
test byte [ecx + 0x24], 0x20
mov ebx, dword [ecx + 4]
je 0x4b6dab
movzx eax, si
test ax, ax
js 0x4b6dab
movsx ecx, ax
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x4b6d62
lea eax, [ebx + 0x10]
mov edi, ecx
test byte [eax], 0x20
jne 0x4b6d5c
inc edx
add eax, 0x14
dec ecx
jne 0x4b6d56
lea eax, [edi + edi*4]
test byte [ebx + eax*4 + 0x10], 0x20
je 0x4b6da2
mov eax, dword [esp + 0x1c]
mov ax, word [eax + 0x2c]
sub ax, dx
add ax, di
mov edi, dword [esp + 0x54]
movzx eax, ax
jmp 0x4b6dae
cmp dword [esp + 0x50], 0
je 0x4b6cf4
push dword [esp + 0x1c]
push ebp
call fcn.0049ae00
add esp, 8
mov ebx, eax
jmp 0x4b6cf6
mov edi, dword [esp + 0x54]
movzx eax, dx
jmp 0x4b6dae
movzx eax, si
movsx edx, ax
add edx, dword [esp + 0xa0]
cmp edi, 0xffffffff
je 0x4b6e24
cmp esi, 0x20
jge 0x4b6dcf
mov eax, 1
mov ecx, esi
shl eax, cl
test edi, eax
jne 0x4b6e24
movzx eax, word [ebx + ebp + 0x10]
test al, 1
jne 0x4b6e24
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b6df3
push 0
push edx
push 0
push 0x48
push ebx
call fcn.004752f0
jmp 0x4b6e37
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b6e3a
push edx
push esi
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [esp + 0x20]
call fcn.00494ce0
add esp, 0x14
mov ecx, dword [esp + 0x1c]
inc esi
add ebp, 0x14
movsx eax, word [ecx + 0x2a]
cmp esi, eax
jl 0x4b6d35
mov ebp, dword [esp + 0x128]
cmp byte [esp + 0x1b], 0
mov ebx, dword [esp + 0x10]
jne 0x4b6eb9
cmp dword [esp + 0x44], 0
jne 0x4b6eb9
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b6e86
push 0
push dword [esp + 0x50]
push dword [esp + 0x2c]
push 0x4d
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x4b6eb9
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x40]
push dword [esp + 0x138]
mov ecx, dword [esp + 0x134]
push dword [esp + 0x20]
push 1
push 1
push ecx
push eax
push ebp
call fcn.004b4e50
mov esi, dword [esp + 0x98]
mov edx, eax
mov eax, dword [esp + 0x38]
xor ecx, ecx
add esp, 0x1c
mov dword [esp + 0x48], edx
xor edi, edi
cmp cx, word [eax + 0x2a]
jge 0x4b7099
mov dword [esp + 0x54], ecx
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x4b6f27
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x4b701f
push 0
push esi
push 0
push 0x48
push ebx
call fcn.004752f0
jmp 0x4b7068
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 4]
movzx eax, word [eax + ecx + 0x10]
test al, 0x60
je 0x4b6f45
test al, 0x20
je 0x4b706f
dec esi
jmp 0x4b706f
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
test eax, eax
js 0x4b6ff4
mov ecx, dword [esp + 0x130]
lea eax, [eax + eax*4]
push esi
mov ebp, dword [ecx + eax*4 + 4]
push ebp
push dword [esp + 0x130]
call fcn.00495e40
mov ebx, eax
add esp, 0xc
cmp ebx, esi
je 0x4b706b
mov eax, dword [esp + 0x128]
mov edx, dword [eax + 8]
test edx, edx
je 0x4b706b
mov ecx, dword [ebp + 4]
and ecx, 0x200000
neg ecx
sbb cl, cl
add cl, 0x4e
movzx eax, cl
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0xa0], eax
cmp dword [edx + 0x70], ecx
jg 0x4b6fc1
push 0
push esi
push ebx
push eax
push edx
call fcn.004752f0
jmp 0x4b7068
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0xa0]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov byte [eax + ecx*4 + 1], dl
jmp 0x4b706b
test dword [esp + 0xa8], 1
je 0x4b7050
cmp edi, 0x1f
jg 0x4b7050
mov eax, 1
mov ecx, edi
shl eax, cl
test edx, eax
jne 0x4b7050
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jle 0x4b6f15
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b706f
push esi
push edi
push dword [esp + 0x1c]
push ebp
push ebx
call fcn.00494ce0
mov dword [esp + 0x8c], 0
add esp, 0x14
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
inc edi
add dword [esp + 0x54], 0x14
inc esi
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x10]
movsx eax, word [eax + 0x2a]
cmp edi, eax
mov eax, dword [esp + 0x1c]
jl 0x4b6f01
mov ebp, dword [esp + 0x128]
test byte [eax + 0x24], 0x60
mov ebx, dword [esp + 0x7c]
je 0x4b70b2
push eax
push ebx
push ebp
call fcn.00490480
mov eax, dword [esp + 0x28]
add esp, 0xc
test byte [esp + 0xa8], 1
mov ebp, dword [esp + 0x10]
je 0x4b727a
push ebx
push eax
push ebp
call fcn.004b4910
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov edi, dword [esp + 0x60]
mov esi, eax
test eax, eax
je 0x4b712b
mov ebp, dword [esp + 0x1c]
cmp byte [esi + 8], 0x7f
jne 0x4b7120
cmp byte [esi + 9], 1
jne 0x4b7120
push dword [esp + 0x130]
push dword [esi + 0x10]
call fcn.00455c50
add esp, 8
test eax, eax
je 0x4b7120
push edi
push dword [esp + 0x13c]
push dword [esp + 0x2c]
push ebp
push esi
push dword [esp + 0x13c]
call fcn.0048f6c0
add esp, 0x18
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4b70e1
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x44], 0
je 0x4b71d5
mov edx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], edx
jg 0x4b7156
push dword [esp + 0x38]
push edi
push dword [esp + 0x1c]
push 0x1d
push ebp
call fcn.004752f0
add esp, 0x14
mov edx, eax
jmp 0x4b7189
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp]
cmp byte [eax + 0x51], 0
jne 0x4b71a8
mov eax, dword [ebp + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x94]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
xor eax, eax
xor esi, esi
mov edi, ebx
cmp ax, word [ecx + 0x2a]
jge 0x4b7260
xor ebx, ebx
mov eax, dword [ecx + 4]
movzx eax, word [ebx + eax + 0x10]
test al, 0x60
je 0x4b7224
test al, 0x20
je 0x4b7247
dec edi
jmp 0x4b7247
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b71f3
push dword [esp + 0x24]
push edi
push dword [esp + 0x1c]
push 0x20
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b71a8
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov esi, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b71ac
mov eax, dword [esp + 0x20]
cmp dword [eax + esi*4], 0
jge 0x4b7247
movsx eax, word [ecx + 0x28]
cmp esi, eax
je 0x4b7247
push edi
push esi
push edx
push ecx
push ebp
call fcn.00494ce0
mov ecx, dword [esp + 0x30]
add esp, 0x14
movsx eax, word [ecx + 0x2a]
inc esi
mov edx, dword [esp + 0x14]
add ebx, 0x14
inc edi
cmp esi, eax
jl 0x4b71c2
mov ebx, dword [esp + 0x7c]
test byte [ecx + 0x24], 0x60
mov esi, dword [esp + 0x128]
je 0x4b7285
push ecx
push ebx
push esi
call fcn.00490480
add esp, 0xc
jmp 0x4b7281
mov esi, dword [esp + 0x128]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x88], 0
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x138]
jne 0x4b755f
push 0
push dword [esp + 0x24]
lea eax, [esp + 0x7c]
push eax
push ebx
push edi
push dword [esp + 0x6c]
push dword [esp + 0x3c]
push dword [esp + 0x68]
push dword [esp + 0xa4]
push dword [esp + 0x38]
push dword [esp + 0x94]
push ecx
push esi
call fcn.0049ff50
add esp, 0x34
cmp dword [esp + 0x74], 0
jne 0x4b72e5
cmp byte [esp + 0x58], 0
je 0x4b735e
cmp dword [esp + 0x44], 0
je 0x4b73da
mov edx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], edx
jg 0x4b7310
push dword [esp + 0x38]
push ebx
push dword [esp + 0x1c]
push 0x1d
push ebp
call fcn.004752f0
add esp, 0x14
mov edx, eax
jmp 0x4b733f
mov esi, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp]
cmp byte [eax + 0x51], 0
jne 0x4b735e
mov eax, dword [ebp + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x94]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x50], 0
mov esi, dword [esp + 0x1c]
je 0x4b738b
push dword [esp + 0x9c]
push dword [esp + 0x24]
push 0
push edx
push esi
push dword [esp + 0x13c]
call fcn.0049a0e0
add esp, 0x18
push 0xffffffffffffffff
push dword [esp + 0x70]
push dword [esp + 0x8c]
push dword [esp + 0x20]
push esi
push dword [esp + 0x13c]
call fcn.004a28e0
add esp, 0x18
cmp dword [esp + 0x78], 0
je 0x4b7462
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b742f
push 0
push 0
push dword [esp + 0x1c]
push 0x87
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b7462
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b73fb
push dword [esp + 0x24]
push ebx
push dword [esp + 0x1c]
push 0x20
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b735e
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4b7362
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x87
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x50]
cmp edx, 1
jg 0x4b7472
cmp byte [esp + 0x58], 0
je 0x4b74ca
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b7493
push 0
push 0
push dword [esp + 0x1c]
push 0x7a
push ebp
call fcn.004752f0
mov edx, dword [esp + 0x64]
add esp, 0x14
jmp 0x4b74ca
mov ebx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edx, edx
je 0x4b74ef
push dword [esp + 0x9c]
push dword [esp + 0x24]
push dword [esp + 0x54]
push 0
push esi
push dword [esp + 0x13c]
call fcn.0049a0e0
add esp, 0x18
mov esi, dword [esp + 0x28]
xor eax, eax
cmp esi, 2
push 0
setne al
push 0
dec eax
and eax, 2
or eax, 4
push eax
push dword [esp + 0x78]
push dword [esp + 0x5c]
push dword [esp + 0x98]
push dword [esp + 0x2c]
push dword [esp + 0x38]
push dword [esp + 0x148]
call fcn.00490270
add esp, 0x24
cmp dword [esp + 0x50], 0
je 0x4b7563
push dword [esp + 0x9c]
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x13c]
push dword [esp + 0x2c]
push dword [esp + 0x13c]
call fcn.0049a050
add esp, 0x18
jmp 0x4b7563
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x4b75bb
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b7588
push 0
push 1
push edx
push 0x52
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b75bb
mov ebx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4b761d
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x128]
mov edi, edi
cmp byte [eax + 8], 0x7f
jne 0x4b760a
cmp byte [eax + 9], 2
jne 0x4b760a
push dword [esp + 0x130]
push dword [eax + 0x10]
call fcn.00455c50
add esp, 8
test eax, eax
je 0x4b7606
push ebx
push edi
push dword [esp + 0x2c]
push esi
push dword [esp + 0x50]
push ebp
call fcn.0048f6c0
add esp, 0x18
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4b75d0
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
cmp esi, 1
je 0x4b772c
cmp esi, 2
jne 0x4b766e
mov ecx, dword [ebp + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b7654
push ebx
push ebp
push ecx
call fcn.00483c50
add esp, 0xc
push dword [esp + 0x64]
call fcn.004c9130
add esp, 4
jmp 0x4b772c
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp + 0x6c]
push dword [esp + 0x64]
mov dword [ecx + ebx*4], eax
call fcn.004c9130
add esp, 4
jmp 0x4b772c
cmp dword [esp + 0x44], 0
je 0x4b76e3
mov ecx, dword [ebp + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b768f
push ebx
push ebp
push ecx
call fcn.00483c50
add esp, 0xc
jmp 0x4b7698
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp + 0x6c]
mov dword [ecx + ebx*4], eax
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b76bb
mov edx, dword [esp + 0x98]
push 0
push edx
push dword [esp + 0x64]
push 5
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b772c
mov edx, dword [esp + 0x5c]
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x98]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
jmp 0x4b771c
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b76fd
push 0
push ebx
push 0
push 0xb
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b772c
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b774a
push edx
push ebp
push ecx
call fcn.00483c50
add esp, 0xc
jmp 0x4b7753
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebp + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x128]
cmp byte [eax + 0x12], 0
jne 0x4b777f
cmp dword [eax + 0x78], 0
jne 0x4b777f
mov ecx, dword [esp + 0x144]
test ecx, ecx
jne 0x4b777f
cmp dword [eax + 0x70], ecx
je 0x4b777f
push eax
call fcn.004518e0
add esp, 4
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x4b5d80
mov ecx, dword [ebp + 0x6c]
cmp dword [ebp + 0x70], ecx
jg 0x4b77a8
push 0
push 1
push edx
push 0x50
push ebp
call fcn.004752f0
add esp, 0x14
jmp 0x4b77d7
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 0x68]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [ebp + 0x90]
mov esi, dword [ebp]
test ax, ax
je 0x4b78ac
add eax, eax
push eax
push dword [ebp + 0x74]
call fcn.00482160
mov edi, dword [ebp + 0x74]
add esp, 8
test edi, edi
je 0x4b78ac
test esi, esi
je 0x4b7857
cmp dword [esi + 0x1f8], 0
je 0x4b781f
push edi
push esi
call fcn.00478920
add esp, 8
jmp 0x4b78ac
cmp edi, dword [esi + 0x14c]
jae 0x4b7857
cmp edi, dword [esi + 0x144]
jb 0x4b783f
mov eax, dword [esi + 0x140]
mov dword [edi], eax
mov dword [esi + 0x140], edi
jmp 0x4b78ac
cmp edi, dword [esi + 0x148]
jb 0x4b7857
mov eax, dword [esi + 0x138]
mov dword [edi], eax
mov dword [esi + 0x138], edi
jmp 0x4b78ac
cmp dword [0x5061d8], 0
je 0x4b78a2
mov eax, dword [0x50df18]
test eax, eax
je 0x4b7873
push eax
call dword [0x506228]
add esp, 4
push edi
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push edi
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x4b78ac
push eax
call dword [0x506230]
jmp 0x4b78a9
push edi
call dword [0x5061fc]
add esp, 4
push 0
push 0x50
mov ebx, 1
push esi
mov word [ebp + 0x90], bx
call fcn.00491d60
add esp, 0xc
mov dword [ebp + 0x74], eax
test eax, eax
je 0x4b78e8
mov dword [eax + 0x20], esi
mov word [eax + 8], bx
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], esi
mov word [eax + 0x30], bx
mov dword [eax + 0x40], 0
mov eax, dword [ebp]
cmp byte [eax + 0x51], 0
jne 0x4b5d80
mov esi, dword [ebp + 0x74]
mov eax, 0x2400
mov edi, 0x202
test word [esi + 8], ax
jne 0x4b790e
cmp dword [esi + 0x18], 0
je 0x4b7917
push esi
call fcn.004d16e0
add esp, 4
xor eax, eax
mov dword [esi + 0x10], str.rows_updated
cmp eax, 0x4a75d0
jne 0x4b79b9
mov eax, dword [esi + 0x20]
mov dword [esi + 0x14], str.rows_updated
test eax, eax
je 0x4b7995
cmp dword [eax + 0x14c], str.rows_updated
jbe 0x4b7995
cmp dword [eax + 0x144], str.rows_updated
ja 0x4b796c
mov eax, pe_nt_image_headers32
mov dword [esi + 0xc], 0xc
mov dword [esi + 0x18], eax
mov word [esi + 8], di
mov byte [esi + 0xa], bl
jmp 0x4b5d80
cmp dword [eax + 0x148], str.rows_updated
ja 0x4b7995
movzx eax, word [eax + 0x11e]
mov dword [esi + 0x18], eax
mov dword [esi + 0xc], 0xc
mov word [esi + 8], di
mov byte [esi + 0xa], bl
jmp 0x4b5d80
push str.rows_updated
call dword [0x506204]
add esp, 4
mov dword [esi + 0x18], eax
mov dword [esi + 0xc], 0xc
mov word [esi + 8], di
mov byte [esi + 0xa], bl
jmp 0x4b5d80
mov edi, 0xa02
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], 0xc
mov word [esi + 8], di
mov byte [esi + 0xa], bl
jmp 0x4b5d80
mov eax, dword [esp + 0x140]
mov esi, dword [esp + 0x134]
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x90], eax
jmp 0x4b5d93
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x130]
jmp 0x4b5d93
cmp edi, dword [ebp + 0x14c]
jae 0x4b7a4f
cmp edi, dword [ebp + 0x144]
jb 0x4b7a37
mov eax, dword [ebp + 0x140]
mov dword [edi], eax
mov dword [ebp + 0x140], edi
jmp 0x4b7aa4
cmp edi, dword [ebp + 0x148]
jb 0x4b7a4f
mov eax, dword [ebp + 0x138]
mov dword [edi], eax
mov dword [ebp + 0x138], edi
jmp 0x4b7aa4
cmp dword [0x5061d8], 0
je 0x4b7a9a
mov eax, dword [0x50df18]
test eax, eax
je 0x4b7a6b
push eax
call dword [0x506228]
add esp, 4
push edi
call dword [0x506204]
sub dword [0x50de98], eax
dec dword [0x50debc]
push edi
call dword [0x5061fc]
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x4b7aa4
push eax
call dword [0x506230]
jmp 0x4b7aa1
push edi
call dword [0x5061fc]
add esp, 4
push dword [esp + 0x12c]
push ebp
call fcn.004b3800
add esp, 8
test ebx, ebx
je 0x4b7ac2
push ebx
push ebp
call fcn.0045f150
add esp, 8
test esi, esi
je 0x4b7ad0
push esi
push ebp
call fcn.00497330
add esp, 8
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4b7ae5
push eax
push ebp
call fcn.0045f150
add esp, 8
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4b7afa
push eax
push ebp
call fcn.00497330
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret