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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
xor esi, esi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov eax, dword [ebx]
push edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x54], eax
cmp dword [ebx + 0x24], esi
jne 0x50c1a1
cmp byte [eax + 0x45], 0
jne 0x50c1a1
mov eax, dword [ebp + 0xc]
push ebx
call fcn.004f0d00
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, esi
je 0x50c1a1
mov esi, dword [edi + 0x48]
mov ecx, dword [ebx]
call fcn.004ff0c0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x98]
push eax
push ecx
push 0x6e
mov edx, edi
mov eax, ebx
call fcn.0050a1c0
xor edx, edx
add esp, 0xc
cmp dword [edi + 0xc], edx
mov dword [esp + 0x50], eax
setne dl
push edi
mov eax, ebx
mov dword [esp + 0x50], edx
call fcn.004ecd60
add esp, 4
test eax, eax
jne 0x50c1a1
mov eax, dword [esp + 0x98]
push eax
mov ecx, edi
mov eax, ebx
call fcn.004f0d80
add esp, 4
test eax, eax
jne 0x50c1a1
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x38], eax
inc dword [ebx + 0x28]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x24], eax
mov dword [esp + 0x7c], eax
inc eax
test byte [edi + 0x24], 0x20
mov dword [esp + 0x88], eax
jne 0x50ad3f
mov dword [esp + 0x34], 0
jmp 0x50ad4a
mov eax, edi
call fcn.004eaec0
mov dword [esp + 0x34], eax
mov eax, dword [edi + 8]
xor esi, esi
mov dword [esp + 0xa0], esi
test eax, eax
je 0x50ad91
lea ebx, [ebx]
mov ecx, dword [eax + 0x38]
and cl, 3
cmp cl, 2
jne 0x50ad7c
cmp dword [esp + 0x34], 0
je 0x50ad7c
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x24], edx
mov dword [ecx + 0x38], edx
inc dword [ebx + 0x28]
mov eax, dword [eax + 0x14]
mov edx, dword [ebx + 0x28]
inc esi
test eax, eax
jne 0x50ad60
mov dword [esp + 0xa0], esi
movsx edx, word [edi + 0x2a]
add edx, esi
lea eax, [esi + edx*4 + 2]
push 0
push eax
mov eax, dword [esp + 0x5c]
call fcn.004afe20
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x50c1a1
movsx ecx, word [edi + 0x2a]
mov edx, eax
lea eax, [edx + ecx*4]
lea ecx, [esi + 1]
push ecx
mov dword [esp + 0x88], eax
lea eax, [eax + esi*4]
push 1
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x80], ecx
call fcn.0052e300
mov eax, dword [esp + 0x2c]
mov byte [eax + esi + 1], 0
xor ecx, ecx
add esp, 0xc
xor eax, eax
cmp cx, word [edi + 0x2a]
jge 0x50ae10
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx]
mov dword [ecx + eax*4], 0xffffffff
movsx edx, word [edi + 0x2a]
inc eax
cmp eax, edx
jl 0x50ae00
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
mov dword [esp + 0xb0], ebx
mov byte [esp + 0x1f], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x28], 0
jle 0x50aff3
add eax, 8
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push edx
lea edi, [esp + 0xb4]
call fcn.004df6f0
add esp, 4
test eax, eax
jne 0x50c1a1
mov esi, dword [esp + 0x10]
movsx eax, word [esi + 0x2a]
xor edi, edi
mov dword [esp + 0x38], eax
test eax, eax
jle 0x50af22
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, esi
mov esi, dword [edx + 4]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esi]
call fcn.004b27e0
test eax, eax
je 0x50aedb
inc edi
add esi, 0x10
cmp edi, dword [esp + 0x38]
jl 0x50aec0
jmp 0x50af1e
mov eax, dword [esp + 0x10]
movsx ecx, word [eax + 0x28]
cmp edi, ecx
jne 0x50aef8
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov byte [esp + 0x17], 1
mov dword [esp + 0x48], eax
jmp 0x50af13
cmp dword [esp + 0x34], 0
je 0x50af13
mov eax, dword [eax + 4]
mov ecx, edi
shl ecx, 4
test byte [ecx + eax + 0xf], 1
je 0x50af13
mov byte [esp + 0x1f], 1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [eax + edi*4], edx
mov esi, dword [esp + 0x10]
movsx ecx, word [esi + 0x2a]
cmp edi, ecx
jl 0x50af89
cmp dword [esp + 0x34], 0
jne 0x50b013
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 4]
mov eax, str._ROWID_
mov ecx, edi
call fcn.004b27e0
test eax, eax
je 0x50af70
mov eax, str.ROWID
mov ecx, edi
call fcn.004b27e0
test eax, eax
je 0x50af70
mov eax, 0x5d6a04
mov ecx, edi
call fcn.004b27e0
test eax, eax
jne 0x50b013
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
or edi, 0xffffffff
mov byte [esp + 0x17], 1
mov dword [esp + 0x48], ecx
mov eax, str.ROWID
jmp 0x50af9f
test edi, edi
jge 0x50af94
mov eax, str.ROWID
jmp 0x50af9f
mov eax, dword [esi + 4]
mov edx, edi
shl edx, 4
mov eax, dword [edx + eax]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x54]
mov edx, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + edx]
mov edx, dword [esi]
push ecx
push eax
push edx
push 0x17
mov eax, ebx
call fcn.004e9b50
add esp, 0x10
cmp eax, 1
je 0x50c1a1
cmp eax, 2
jne 0x50afda
mov eax, dword [esp + 0x2c]
mov dword [eax + edi*4], 0xffffffff
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
add dword [esp + 0x18], 0x18
inc eax
cmp eax, dword [ecx]
mov dword [esp + 0x28], eax
jl 0x50ae80
mov al, byte [esp + 0x1f]
add al, byte [esp + 0x17]
mov esi, dword [esp + 0x10]
xor edi, edi
mov byte [esp + 0x38], al
cmp dword [esi + 0x38], edi
je 0x50b03a
mov eax, 0xffffffff
or ecx, eax
jmp 0x50b03e
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + edx*8 + 0xc]
push ecx
push str.no_such_column:__s
mov esi, ebx
call fcn.004b2660
add esp, 8
mov byte [ebx + 0x11], 1
jmp 0x50c1a1
xor eax, eax
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x48], eax
mov dword [edx + 0x4c], ecx
mov edx, dword [ebx]
test dword [edx + 0x18], 0x4000
je 0x50b06c
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push esi
call fcn.004f66d0
add esp, 0xc
mov dword [esp + 0x44], eax
jmp 0x50b070
mov dword [esp + 0x44], edi
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], edi
cmp ecx, edi
je 0x50b15b
nop
cmp byte [esp + 0x38], 0
jne 0x50b103
cmp dword [esp + 0x44], 1
jg 0x50b103
cmp dword [ecx + 0x24], 0
jne 0x50b103
cmp ecx, dword [esp + 0x34]
je 0x50b103
movzx eax, word [ecx + 0x32]
xor esi, esi
xor edx, edx
test eax, eax
jle 0x50b116
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
movzx edi, word [edi]
test di, di
jl 0x50b0d6
movsx edi, di
cmp dword [eax + edi*4], 0
jge 0x50b0d6
movzx edi, word [ecx + 0x32]
add dword [esp + 0x18], 2
inc edx
cmp edx, edi
jl 0x50b0b1
jmp 0x50b116
mov edx, 1
add dword [ebx + 0x2c], edx
movzx eax, word [ecx + 0x34]
mov esi, dword [ebx + 0x2c]
add eax, esi
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp + 0x18]
cmp eax, 5
je 0x50b0fd
cmp eax, 0xa
jne 0x50b112
cmp byte [ecx + 0x36], 5
jne 0x50b112
mov dword [esp + 0x64], edx
jmp 0x50b112
inc dword [ebx + 0x2c]
movzx edx, word [ecx + 0x34]
mov esi, dword [ebx + 0x2c]
add edx, esi
mov dword [ebx + 0x2c], edx
test esi, esi
jne 0x50b123
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x84]
mov dword [edx + eax*4], esi
mov ecx, dword [ecx + 0x14]
inc eax
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x50b080
cmp dword [esp + 0x64], ecx
je 0x50b15b
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
push eax
push 1
push ecx
call fcn.0052e300
add esp, 0xc
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x50b174
mov edi, dword [ebp + 8]
call fcn.005024e0
mov ebx, eax
test ebx, ebx
je 0x50c1a1
mov esi, dword [ebp + 8]
cmp byte [esi + 0x12], 0
jne 0x50b184
or dword [ebx + 0x94], 0x10
mov eax, dword [esi + 0x78]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x50b195
mov dword [esp + 0x58], esi
mov eax, esi
mov ecx, dword [esp + 0x40]
mov edx, dword [eax + 0x5c]
mov edi, 1
shl edi, cl
test edx, edi
jne 0x50b1ba
mov ecx, edi
or ecx, edx
cmp dword [esp + 0x40], 1
mov dword [eax + 0x5c], ecx
jne 0x50b1ba
call fcn.004ef7a0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
or dword [eax + 0x58], edi
or byte [eax + 0x14], 1
cmp dword [ecx + 0x38], 0
jne 0x50b243
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esp + 0x8c], eax
inc eax
cmp byte [esp + 0x1f], 0
mov dword [esi + 0x2c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], eax
jne 0x50b1fb
cmp dword [esp + 0x50], 0
jne 0x50b1fb
cmp dword [esp + 0x44], 0
je 0x50b20e
lea edx, [eax + 1]
mov dword [esp + 0x9c], edx
movsx edx, word [ecx + 0x2a]
add edx, eax
mov dword [esi + 0x2c], edx
cmp byte [esp + 0x38], 0
jne 0x50b223
cmp dword [esp + 0x50], 0
jne 0x50b223
cmp dword [esp + 0x44], 0
je 0x50b22d
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
mov dword [esp + 0x90], edx
movsx edx, word [ecx + 0x2a]
add edx, eax
mov dword [esi + 0x2c], edx
cmp dword [esp + 0x4c], 0
je 0x50b279
mov eax, dword [esi + 0x1b8]
mov edx, dword [ecx]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x24]
push eax
mov dword [esi + 0x1b8], edx
mov edx, dword [ebp + 0x14]
push edx
push ecx
push esi
mov dword [esp + 0xb8], esi
call fcn.004f0e00
add esp, 0x10
mov eax, dword [ebp + 0x14]
push eax
lea edi, [esp + 0xb4]
call fcn.004df6f0
add esp, 4
test eax, eax
jne 0x50c1a1
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x38], eax
je 0x50b2c8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push edi
push eax
mov ecx, esi
push ecx
call fcn.0050c2a0
add esp, 0x20
jmp 0x50c1a1
mov edx, dword [esp + 0x54]
test byte [edx + 0x18], 0x80
je 0x50b2f5
cmp dword [esi + 0x7c], 0
jne 0x50b2f5
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
push 0
push eax
push 0
push 0x38
push ebx
mov dword [esp + 0x80], eax
call fcn.004cd400
add esp, 0x14
test byte [edi + 0x24], 0x20
jne 0x50b31a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x8c]
push eax
push ecx
push 0
push 0x3b
push ebx
call fcn.004cd400
add esp, 0x14
jmp 0x50b3b6
mov edx, dword [esp + 0x34]
movzx ecx, word [edx + 0x32]
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
movsx edi, cx
lea eax, [edi + eax + 1]
push 0
push edx
mov dword [esi + 0x2c], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x28]
push 0
mov dword [esp + 0x74], eax
inc eax
push 0x3b
push ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x84], edx
mov dword [esi + 0x28], eax
call fcn.004cd400
mov eax, dword [esp + 0x7c]
add esp, 0x14
push 0
push edi
push eax
push 0x6c
push ebx
call fcn.004cd400
mov ecx, dword [esp + 0x48]
mov edi, dword [esi + 8]
add esp, 0x14
push ecx
push esi
mov dword [esp + 0x68], eax
call fcn.004eff80
add esp, 8
test eax, eax
je 0x50b3b6
mov ecx, dword [edi]
cmp byte [ecx + 0x45], 0
je 0x50b39f
push 0xfffffffffffffff7
call fcn.004cdcf0
add esp, 4
jmp 0x50b3b6
mov ecx, dword [edi + 0x88]
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x58]
lea ecx, [ecx + edx*4 - 0x14]
mov byte [ecx + 1], 0xf7
mov dword [ecx + 0x10], eax
cmp byte [esi + 0x12], 0
mov eax, 0x1004
jne 0x50b3e2
cmp dword [esp + 0x50], 0
jne 0x50b3e2
cmp dword [esp + 0x44], 0
jne 0x50b3e2
cmp byte [esp + 0x38], 0
jne 0x50b3e2
cmp dword [esp + 0x64], 0
jne 0x50b3e2
mov eax, 0x100c
mov edx, dword [esp + 0x88]
mov ecx, dword [ebp + 0xc]
push edx
push eax
mov eax, dword [ebp + 0x14]
push 0
push 0
push eax
push ecx
push esi
call fcn.00518750
add esp, 0x1c
mov dword [esp + 0x58], eax
test eax, eax
je 0x50c1a1
movzx esi, byte [eax + 0x31]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], esi
cmp esi, 2
jne 0x50b445
test ecx, ecx
jl 0x50b445
cmp ecx, dword [esp + 0x24]
je 0x50b445
sub ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x20]
cmp byte [ecx + eax], 0
je 0x50b445
xor esi, esi
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x24], 0x20
jne 0x50b48b
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push 0
push edi
push edx
push 0x7b
push ebx
call fcn.004cd400
add esp, 0x14
test esi, esi
jne 0x50b518
mov eax, dword [esp + 0x8c]
push esi
push edi
push eax
push 0x8f
push ebx
call fcn.004cd400
add esp, 0x14
jmp 0x50b51f
movsx edi, word [esp + 0xac]
xor esi, esi
test edi, edi
jle 0x50b4cb
lea esp, [esp]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x34]
lea edx, [esi + ecx]
mov ecx, dword [eax + 4]
movsx eax, word [ecx + esi*2]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x28]
push edx
push ecx
push ebx
call fcn.004e4230
inc esi
add esp, 0x10
cmp esi, edi
jl 0x50b4a0
cmp dword [esp + 0x18], 0
je 0x50b5cd
mov ecx, dword [ebx]
cmp byte [ecx + 0x45], 0
jne 0x50b509
mov eax, dword [esp + 0x60]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
mov eax, dword [esi + 0x10]
push edx
call fcn.004cdcf0
add esp, 4
mov byte [esi + 1], 0
mov dword [esi + 0x10], 0
mov byte [esi], 0xa6
mov eax, dword [esp + 0x70]
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x18], 2
je 0x50b52c
mov ecx, dword [esp + 0x58]
push ecx
call fcn.00519100
add esp, 4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x44]
lea edx, [eax + 1]
mov dword [ecx + 0x44], edx
lea edx, [eax - 1]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], eax
test eax, edx
jne 0x50b56f
lea ecx, [eax*8 + 4]
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 0x48]
mov esi, dword [eax]
push 0
push ecx
call fcn.004affd0
mov edx, dword [esp + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x68]
add esp, 8
mov ecx, edx
mov ecx, dword [ecx + 0x48]
test ecx, ecx
je 0x50b57d
mov dword [ecx + eax*4], 0xffffffff
or edi, 0xffffffff
sub edi, eax
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x60], edi
jne 0x50b6b9
xor esi, esi
cmp dword [esp + 0x18], esi
je 0x50b639
mov eax, dword [esp + 0x74]
test eax, eax
jl 0x50b5b1
sub eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x78]
test eax, eax
jl 0x50b63d
mov ecx, dword [esp + 0x20]
mov edx, eax
sub edx, dword [esp + 0x7c]
mov byte [edx + ecx], 0
jmp 0x50b63d
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
call fcn.004f7160
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x70]
push ecx
push edi
push edx
push 0x63
push ebx
mov esi, eax
call fcn.004cd400
add esp, 0x14
push edi
push esi
push eax
push ebx
call fcn.004cdef0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
push 0x7e
push ebx
call fcn.004cd400
mov ecx, dword [ebx]
add esp, 0x24
cmp byte [ecx + 0x45], 0
jne 0x50b51f
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], edi
jmp 0x50b51f
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x18], 2
jne 0x50b66b
xor edx, edx
test eax, eax
mov eax, dword [esp + 0xa0]
setge dl
sub eax, edx
test eax, eax
jle 0x50b66b
push 0
push 0
push 0
push 0x14
push ebx
call fcn.004cd400
add esp, 0x14
mov esi, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x10]
push 0
push 0
push eax
mov eax, dword [ebp + 8]
push ecx
push 0
push 0x69
push edx
call fcn.004f9e30
add esp, 0x1c
test esi, esi
je 0x50b6b9
mov ecx, dword [ebx + 0x88]
mov eax, esi
jge 0x50b69e
lea eax, [ecx - 1]
mov edx, dword [ebx]
cmp byte [edx + 0x45], 0
je 0x50b6ad
mov eax, 0x5ef850
jmp 0x50b6b6
mov edx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
cmp dword [esp + 0x18], 0
je 0x50b728
cmp dword [esp + 0x4c], 0
jne 0x50b6f6
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x74], eax
je 0x50b6f6
cmp dword [esp + 0x78], eax
je 0x50b6f6
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x40]
push ecx
push 0x1d
mov ecx, edi
mov esi, ebx
call fcn.004cd750
add esp, 0xc
cmp dword [esp + 0x18], 1
jne 0x50b703
mov dword [esp + 0x20], edi
jmp 0x50b70e
mov eax, ebx
call fcn.004cd7c0
mov dword [esp + 0x20], eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x3c]
jne 0x50b71d
mov eax, dword [esp + 0x30]
push 0
push edi
push eax
push 0x4b
jmp 0x50b7c3
cmp dword [esp + 0x34], 0
je 0x50b79d
mov eax, ebx
call fcn.004cd7c0
push 0
push edi
mov edi, dword [esp + 0x70]
push edi
mov esi, eax
push 0x25
push ebx
mov dword [esp + 0x34], esi
call fcn.004cd400
mov edx, dword [esp + 0x50]
add esp, 0x14
push 0
push edx
push edi
push 0x7a
push ebx
call fcn.004cd400
mov ecx, dword [esp + 0x38]
add esp, 0x14
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x3c]
push eax
push esi
push ecx
push 0x1d
push ebx
call fcn.004cd400
mov edx, dword [ebx]
add esp, 0x14
cmp byte [edx + 0x45], 0
jne 0x50b7cc
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], 0
jmp 0x50b7cc
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x8c]
push esi
push edi
push edx
push 0x2a
push ebx
call fcn.004cd400
add esp, 0x14
push esi
push eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
push eax
push 0x20
push ebx
call fcn.004cd400
add esp, 0x14
cmp byte [esp + 0x17], 0
je 0x50b7f9
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
mov edx, dword [ebp + 8]
push esi
push ecx
push edx
call fcn.004e54a0
add esp, 0xc
push 0
push 0
push esi
push 0x11
push ebx
call fcn.004cd400
add esp, 0x14
cmp byte [esp + 0x1f], 0
jne 0x50b8a5
cmp dword [esp + 0x44], 0
jne 0x50b8b0
cmp dword [esp + 0x50], 0
je 0x50b91d
mov dword [esp + 0x48], 0
mov edx, dword [ebp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push edx
push edi
push 3
push 0
push eax
mov eax, dword [esp + 0x64]
push ecx
call fcn.0050aae0
or dword [esp + 0x60], eax
xor edx, edx
add esp, 0x18
xor esi, esi
cmp dx, word [edi + 0x2a]
jge 0x50b8f8
mov dword [esp + 0x40], edx
lea esp, [esp]
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
je 0x50b8ca
cmp esi, 0x20
jge 0x50b87b
mov edx, 1
mov ecx, esi
shl edx, cl
test eax, edx
jne 0x50b8ca
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
test byte [eax + ecx + 0xf], 1
jne 0x50b8ca
mov edx, dword [esp + 0x9c]
push 0
lea eax, [esi + edx]
push eax
push 0
push 0x3b
push ebx
call fcn.004cd400
add esp, 0x14
jmp 0x50b8e6
cmp dword [esp + 0x44], 0
je 0x50b81a
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.004f6540
add esp, 8
mov dword [esp + 0x48], eax
jmp 0x50b822
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x24]
lea edx, [esi + ecx]
push edx
push eax
push edi
push ebx
mov eax, esi
call fcn.004e4230
add esp, 0x10
movsx ecx, word [edi + 0x2a]
add dword [esp + 0x40], 0x10
inc esi
cmp esi, ecx
jl 0x50b860
cmp byte [esp + 0x17], 0
jne 0x50b91d
cmp dword [esp + 0x34], 0
jne 0x50b91d
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
push 0
push edx
push eax
push 0x40
push ebx
call fcn.004cd400
add esp, 0x14
mov ecx, dword [ebp + 0x18]
mov esi, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push ecx
push esi
push 1
push 1
push edx
push eax
mov eax, dword [esp + 0x68]
call fcn.0050aae0
xor ecx, ecx
add esp, 0x18
cmp cx, word [esi + 0x2a]
mov dword [esp + 0x74], eax
mov dword [esp + 0x28], 0
jge 0x50baad
mov edi, dword [esp + 0x90]
mov esi, ecx
nop
mov edx, dword [esp + 0x10]
movsx eax, word [edx + 0x28]
cmp esi, eax
jne 0x50b9c1
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 0x30], eax
jg 0x50b990
push 0
push edi
push 0
push 0x3b
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50ba93
mov ecx, dword [ebx + 0x58]
lea edx, [eax + 1]
mov dword [ebx + 0x88], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor edx, edx
xor ecx, ecx
mov byte [eax], 0x3b
mov word [eax + 2], dx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
jmp 0x50ba97
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
test eax, eax
jl 0x50ba2d
mov edx, dword [ebp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*8 + 8]
test eax, eax
je 0x50b9fc
cmp byte [eax], 0x9d
jne 0x50b9fc
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push 0
push edi
push eax
push 0x40
push edx
call fcn.004cd400
add esp, 0x14
jmp 0x50ba97
push edi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004e4510
add esp, 0xc
cmp eax, edi
je 0x50ba97
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x50ba97
push 0
push edi
push eax
push 0x41
push ecx
call fcn.004cd400
add esp, 0x14
jmp 0x50ba97
test dword [esp + 0x98], 1
je 0x50ba60
cmp esi, 0x1f
jg 0x50ba60
mov edx, 1
mov ecx, esi
shl edx, cl
test dword [esp + 0x74], edx
jne 0x50ba60
push 0
push edi
push 0
push 0x3b
push ebx
call fcn.004cd400
add esp, 0x14
jmp 0x50ba97
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov esi, dword [ebp + 8]
push 0
push edi
push eax
push ecx
push edx
call fcn.004e42e0
add esp, 0x14
cmp eax, edi
je 0x50ba93
push 0
push edi
push eax
mov eax, dword [esi + 8]
push 0x41
push eax
call fcn.004cd400
add esp, 0x14
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
movsx edx, word [ecx + 0x2a]
inc esi
inc edi
cmp esi, edx
mov dword [esp + 0x28], esi
jl 0x50b960
test byte [esp + 0x98], 1
je 0x50bc54
mov eax, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x14]
push ebx
call fcn.004f7240
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
add esp, 8
test edi, edi
je 0x50bb22
lea esp, [esp]
cmp byte [edi + 8], 0x6e
jne 0x50bb1b
cmp byte [edi + 9], 1
jne 0x50bb1b
mov ecx, dword [edi + 0x10]
mov eax, dword [ebp + 0x10]
push ecx
call fcn.0050a160
add esp, 4
test eax, eax
je 0x50bb1b
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push esi
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edi
push edx
call fcn.0050a980
add esp, 0x18
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x50bae0
xor edx, edx
cmp dword [esp + 0x34], edx
je 0x50bbaf
mov ecx, dword [ebx + 0x88]
mov eax, dword [ebx + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x50bb59
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
push ecx
push edx
push edi
push 0x1d
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50bb8e
mov edi, dword [ebx + 0x58]
lea eax, [ecx + 1]
mov dword [ebx + 0x88], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
xor edi, edi
mov word [eax + 2], di
mov edi, dword [esp + 0x24]
mov dword [eax + 8], esi
mov esi, dword [esp + 0x3c]
mov byte [eax], 0x1d
mov dword [eax + 4], edi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0
mov eax, ecx
mov ecx, dword [ebx]
cmp byte [ecx + 0x45], 0
jne 0x50bc09
mov ecx, dword [esp + 0x80]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea eax, [eax + edx*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ecx
jmp 0x50bc09
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 0x30], eax
mov edi, dword [esp + 0x24]
jg 0x50bbda
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push edx
push eax
push edi
push 0x20
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50bc09
lea ecx, [eax + 1]
mov dword [ebx + 0x88], ecx
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x20
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0
mov eax, dword [esp + 0x10]
xor edx, edx
xor esi, esi
cmp dx, word [eax + 0x2a]
jge 0x50bc58
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + esi*4], 0
jge 0x50bc49
movsx edx, word [eax + 0x28]
cmp esi, edx
je 0x50bc49
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x10]
lea ecx, [esi + eax]
push ecx
push edi
push edx
push ebx
mov eax, esi
call fcn.004e4230
mov eax, dword [esp + 0x20]
add esp, 0x10
movsx ecx, word [eax + 0x2a]
inc esi
cmp esi, ecx
jl 0x50bc17
jmp 0x50bc58
mov edi, dword [esp + 0x24]
xor esi, esi
cmp dword [esp + 0x4c], esi
jne 0x50beff
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [ebp + 8]
push edi
push ecx
push edx
push eax
mov dword [esp + 0x7c], esi
call fcn.004f87d0
add esp, 0x30
cmp dword [esp + 0x44], esi
je 0x50bcd4
movzx ecx, byte [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [ebp + 8]
push esi
push eax
push ecx
push edx
call fcn.004f5f10
add esp, 0x18
cmp dword [esp + 0x64], esi
jne 0x50bce5
cmp byte [esp + 0x38], 0
je 0x50bdbb
mov ecx, dword [ebx + 0x88]
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x34], esi
je 0x50bd67
cmp dword [eax + 0x30], ecx
jg 0x50bd11
mov ecx, dword [esp + 0x3c]
push ecx
push 0
push edi
push 0x1d
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
xor esi, esi
jmp 0x50bd42
lea edx, [ecx + 1]
mov dword [ebx + 0x88], edx
mov edx, dword [ebx + 0x58]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x3c]
mov byte [eax], 0x1d
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov eax, ecx
mov ecx, dword [ebx]
cmp byte [ecx + 0x45], 0
jne 0x50bd61
mov ecx, dword [ebx + 0x58]
lea edx, [eax + eax*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x80]
mov byte [ecx + 1], 0xfd
mov dword [ecx + 0x10], edx
mov dword [esp + 0x4c], eax
jmp 0x50bdbb
cmp dword [eax + 0x30], ecx
jg 0x50bd88
mov ecx, dword [esp + 0x30]
push ecx
push 0
push edi
push 0x20
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
mov dword [esp + 0x4c], eax
xor esi, esi
jmp 0x50bdbb
lea edx, [ecx + 1]
mov dword [ebx + 0x88], edx
mov edx, dword [ebx + 0x58]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x30]
mov byte [eax], 0x20
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push edi
push edx
call fcn.004f1b10
add esp, 0x14
cmp dword [esp + 0x44], 1
jg 0x50bdec
cmp byte [esp + 0x38], 0
je 0x50be39
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 0x30], eax
jg 0x50be0f
push 0
push 0
push edi
push 0x76
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
xor esi, esi
jmp 0x50be39
mov ecx, dword [ebx + 0x58]
lea edx, [eax + 1]
mov dword [ebx + 0x88], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor edx, edx
mov byte [eax], 0x76
mov word [eax + 2], dx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], dl
cmp dword [esp + 0x64], esi
jne 0x50be46
cmp byte [esp + 0x38], 0
je 0x50be72
mov eax, dword [esp + 0x4c]
cmp eax, esi
mov ecx, dword [ebx + 0x88]
jge 0x50be57
lea eax, [ecx - 1]
mov edx, dword [ebx]
cmp byte [edx + 0x45], 0
je 0x50be66
mov eax, 0x5ef850
jmp 0x50be6f
mov edx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
cmp dword [esp + 0x44], esi
je 0x50be9a
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 8]
push edx
push esi
push eax
push ecx
call fcn.004f5f10
add esp, 0x18
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x5c]
xor edx, edx
cmp dword [esp + 0x18], 2
push esi
setne dl
push esi
dec edx
and edx, 2
or edx, 4
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
push edx
push edi
push eax
push ecx
call fcn.004f9c00
add esp, 0x24
cmp dword [esp + 0x44], esi
je 0x50beff
movzx edx, byte [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.004f6f00
add esp, 0x14
mov ecx, dword [esp + 0x54]
test byte [ecx + 0x18], 0x80
je 0x50bf69
mov edx, dword [ebp + 8]
cmp dword [edx + 0x7c], 0
jne 0x50bf69
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 0x30], eax
jg 0x50bf37
mov edx, dword [esp + 0x6c]
push 0
push 1
push edx
push 0x45
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50bf69
lea ecx, [eax + 1]
mov dword [ebx + 0x88], ecx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x6c]
xor ecx, ecx
mov byte [eax], 0x45
mov word [eax + 2], cx
mov dword [eax + 4], edx
mov dword [eax + 8], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x20]
test esi, esi
je 0x50bfb7
cmp byte [esi + 8], 0x6e
jne 0x50bfb0
cmp byte [esi + 9], 2
jne 0x50bfb0
mov eax, dword [esi + 0x10]
push eax
mov eax, dword [ebp + 0x10]
call fcn.0050a160
add esp, 4
test eax, eax
je 0x50bfb0
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push esi
push ecx
call fcn.0050a980
add esp, 0x18
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x50bf75
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x50c0be
cmp eax, 2
jne 0x50bff6
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x50bfe4
mov ecx, dword [ebx + 0x88]
lea edx, [edi*4 + 4]
sub eax, edx
mov dword [eax], ecx
mov edx, dword [esp + 0x58]
push edx
call fcn.00519100
add esp, 4
jmp 0x50c0be
xor ecx, ecx
cmp dword [esp + 0x34], ecx
je 0x50c072
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
cmp eax, ecx
je 0x50c019
lea edx, [edi*4 + 4]
sub eax, edx
mov edx, dword [ebx + 0x88]
mov dword [eax], edx
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x30], eax
jg 0x50c044
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
push 0
push eax
push ecx
push 7
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50c0be
lea edx, [eax + 1]
mov dword [ebx + 0x88], edx
mov edx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x68]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x94]
mov byte [eax], 7
mov dword [eax + 8], edx
jmp 0x50c0b4
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x30], eax
jg 0x50c093
push 0
push edi
push 0
push 0xd
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50c0be
lea edx, [eax + 1]
mov dword [ebx + 0x88], edx
mov edx, dword [ebx + 0x58]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov byte [eax], 0xd
mov word [eax + 2], dx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov byte [eax + 1], 0
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], ecx
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x50c0dd
mov ecx, dword [esp + 0x60]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x88]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [ebp + 8]
cmp byte [eax + 0x12], 0
jne 0x50c0f9
cmp dword [eax + 0x7c], 0
jne 0x50c0f9
cmp dword [eax + 0x74], 0
je 0x50c0f9
mov esi, eax
call fcn.004f7620
mov edx, dword [esp + 0x54]
test byte [edx + 0x18], 0x80
je 0x50c1a1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x7c], 0
jne 0x50c1a1
mov ecx, eax
cmp byte [ecx + 0x12], 0
jne 0x50c1a1
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x30], eax
jg 0x50c145
mov eax, dword [esp + 0x6c]
push 0
push 1
push eax
push 0x43
mov esi, ebx
call fcn.004cd3c0
add esp, 0x10
jmp 0x50c177
lea ecx, [eax + 1]
mov dword [ebx + 0x88], ecx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x6c]
xor ecx, ecx
mov byte [eax], 0x43
mov word [eax + 2], cx
mov dword [eax + 4], edx
mov dword [eax + 8], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
push 1
push ebx
call fcn.004cef40
mov eax, dword [ebx]
add esp, 8
cmp byte [eax + 0x45], 0
jne 0x50c1a1
mov ecx, dword [ebx + 0x64]
push 0
push 1
push str.rows_updated
or eax, 0xffffffff
call fcn.004cc8c0
add esp, 0xc
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x50c1b9
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x1b8], ecx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x54]
test esi, esi
je 0x50c262
test edi, edi
je 0x50c20a
cmp dword [edi + 0x1c8], 0
je 0x50c1e4
mov eax, esi
mov ecx, edi
call fcn.004afa70
jmp 0x50c262
cmp esi, dword [edi + 0x120]
jb 0x50c20a
cmp esi, dword [edi + 0x124]
jae 0x50c20a
mov edx, dword [edi + 0x11c]
mov dword [esi], edx
dec dword [edi + 0x108]
mov dword [edi + 0x11c], esi
jmp 0x50c262
cmp dword [0x5eb9e0], 0
je 0x50c258
mov eax, dword [0x5f0898]
test eax, eax
je 0x50c226
push eax
call dword [0x5eba38]
add esp, 4
push esi
call dword [0x5eba14]
sub dword [0x5f06e8], eax
dec dword [0x5f070c]
add esp, 4
push esi
call dword [0x5eba0c]
mov eax, dword [0x5f0898]
add esp, 4
test eax, eax
je 0x50c262
push eax
call dword [0x5eba40]
jmp 0x50c25f
push esi
call dword [0x5eba0c]
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
mov eax, edi
call fcn.004ef1b0
mov eax, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x50c281
push eax
push edi
call fcn.004e1770
add esp, 8
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x50c292
push eax
push edi
call fcn.004e0aa0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret