Function at 0x4b5b3c
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb0
xor eax, eax
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
xor eax, eax
mov ecx, dword [edx + 4]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
mov ebx, dword [edx]
mov byte [ebp - 0xd], 0
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [ebp - 0xe], cl
xor ecx, ecx
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
xor eax, eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], eax
xor edx, edx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004b21dc
pop ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 7
jne 0x4b5bb1
jmp 0x4bc279
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 8]
xor eax, eax
mov dword [edx + 0x14], eax
xor edx, edx
mov dword [ebx + 0x1bc], edx
cmp dword [ebx + 0xe8], 0
jne 0x4bc2dd
cmp dword [ebx + 0x11c], 0
setne cl
and ecx, 1
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x58]
mov dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc1d4
cmp byte [ebx + 0x40], 0
jne 0x4bc279
mov esi, dword [ebp - 4]
shl esi, 2
lea esi, [esi + esi*4]
add esi, dword [ebp - 8]
cmp dword [ebp - 0x14], 0
je 0x4b5c46
mov eax, dword [ebx + 0x124]
cmp eax, dword [ebp - 0x18]
jne 0x4b5c43
mov edx, dword [ebx + 0x120]
push edx
call dword [ebx + 0x11c]
pop ecx
test eax, eax
je 0x4b5c3e
mov dword [ebp - 0xc], 9
jmp 0x4bc1d4
xor ecx, ecx
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x18]
test byte [esi + 2], 2
je 0x4b5c79
mov ecx, dword [esi + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
test word [eax + 0x1c], 0x2460
je 0x4b5c70
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b06dc
pop ecx
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], 4
xor eax, eax
mov al, byte [esi]
cmp eax, 0x94
ja case.0x4b5c88.0
jmp dword [eax*4 + 0x4b5c8f]
cmp dword [ebx + 0xe8], 0
jne 0x4bc2dd
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov word [edi + 0x1c], 4
mov eax, dword [ebp - 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov word [edi + 0x1c], 4
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
test byte [eax + 0x1c], 1
je case.0x4b5c88.0
cmp dword [esi + 4], 0
jne 0x4b601e
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa0], 0
je 0x4b601e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 4]
mov dword [eax + 0xa0], ecx
mov edx, dword [ebp + 8]
dec dword [edx + 0xa8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x64]
push eax
push ebx
call fcn.004b4198
add esp, 8
mov edx, dword [ebp - 0x3c]
push edx
call fcn.004b2a94
pop ecx
mov dword [ebp - 4], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x34], ecx
cmp dword [esi + 8], 4
jne 0x4b6007
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
dec eax
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x1c], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 8]
mov al, byte [esi + 8]
mov byte [edx + 0x60], al
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov dword [edx + 0x58], ecx
cmp dword [esi + 0x10], 0
je 0x4b607d
mov ecx, dword [esi + 0x10]
push ecx
push 0x51db51
push ebx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00499834
add esp, 0x10
mov edx, dword [esi + 0x10]
push edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x98]
push eax
mov edx, dword [ebp - 4]
push edx
push str.abort_at__d_in___s_:__s
mov ecx, dword [esi + 4]
push ecx
call fcn.0049abb8
add esp, 0x14
jmp 0x4b60a5
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5c], 0
je 0x4b60a5
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x98]
push ecx
mov eax, dword [ebp - 4]
push eax
push str.constraint_failed_at__d_in___s_
mov edx, dword [esi + 4]
push edx
call fcn.0049abb8
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b322c
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 5
jne 0x4b60cb
mov eax, 5
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], eax
jmp 0x4bc23a
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5c], 0
je 0x4b60db
mov ecx, 1
jmp 0x4b60e0
mov ecx, 0x65
mov dword [ebp - 0xc], ecx
jmp 0x4bc23a
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x28]
mov edx, dword [esi + 0x10]
mov ecx, dword [edx]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 0x14], ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], 8
mov edx, dword [ebp - 0x28]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 0xc], ecx
jmp case.0x4b5c88.0
mov byte [esi], 9
mov edx, dword [esi + 0x10]
push edx
call fcn.0049b450
pop ecx
mov dword [esi + 4], eax
xor ecx, ecx
mov cl, byte [ebp - 0xe]
dec ecx
je 0x4b61cb
push 0
push 1
push 0xffffffffffffffff
mov eax, dword [esi + 0x10]
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0c34
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x12
je 0x4bc258
xor ecx, ecx
mov cl, byte [ebp - 0xe]
push ecx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004b03c0
add esp, 8
test eax, eax
jne 0x4bc279
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [edx + 0x24], eax
mov edx, dword [ebp - 0x28]
or word [edx + 0x1c], 0x800
mov ecx, dword [ebp - 0x28]
and word [ecx + 0x1c], 0xfbff
cmp byte [esi + 1], 0xff
jne 0x4b61b5
mov ecx, dword [esi + 0x10]
push ecx
push ebx
call fcn.00499448
add esp, 8
mov byte [esi + 1], 0xff
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 4]
mov dword [esi + 0x10], edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x18]
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x58]
jle case.0x4b5c88.9
jmp 0x4bc258
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], 0xa02
mov eax, dword [ebp - 0x28]
mov edx, dword [esi + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 4]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x28]
mov al, byte [ebp - 0xe]
mov byte [edx + 0x1f], al
jmp case.0x4b5c88.0
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
mov dword [ebp - 0x130], edx
cmp dword [esi + 4], 0
je 0x4b6219
mov cx, 0x101
jmp 0x4b621d
mov cx, 1
mov word [ebp - 0x12c], cx
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], cx
jmp 0x4b625a
add dword [ebp - 0x28], 0x28
mov edx, dword [ebp - 0x28]
test word [edx + 0x1c], 0x2460
je 0x4b6246
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b06dc
pop ecx
mov eax, dword [ebp - 0x28]
mov dx, word [ebp - 0x12c]
mov word [eax + 0x1c], dx
dec dword [ebp - 0x130]
cmp dword [ebp - 0x130], 0
jg 0x4b622d
jmp case.0x4b5c88.0
push 0
push 0
mov ecx, dword [esi + 4]
push ecx
mov eax, dword [esi + 0x10]
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0c34
add esp, 0x14
mov ecx, dword [ebp - 0x28]
mov al, byte [ebp - 0xe]
mov byte [ecx + 0x1f], al
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
mov eax, dword [ebp + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [eax + 0x48]
add edx, 0xffffffd8
mov dword [ebp - 0x130], edx
mov edx, dword [ebp - 0x130]
push edx
call fcn.004b0b3c
pop ecx
test eax, eax
je 0x4b62bc
jmp 0x4bc258
push 0x800
mov ecx, dword [ebp - 0x130]
push ecx
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b0b68
add esp, 0xc
jmp case.0x4b5c88.0
mov eax, dword [esi + 0xc]
inc eax
mov dword [ebp - 0x12c], eax
mov edx, dword [esi + 4]
mov dword [ebp - 0x128], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x124], ecx
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x124]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
jmp 0x4b6349
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [ecx + 0x24], eax
push edi
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0c00
add esp, 8
mov ecx, dword [ebp - 0x130]
mov dword [edi + 0x24], ecx
add edi, 0x28
add dword [ebp - 0x28], 0x28
mov eax, dword [ebp - 0x12c]
add dword [ebp - 0x12c], 0xffffffff
test eax, eax
jne 0x4b6318
jmp case.0x4b5c88.0
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x130], edx
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
push 0x1000
push edi
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0b68
add esp, 0xc
mov ecx, dword [ebp - 0x28]
test byte [ecx + 0x1d], 0x10
je 0x4b63b1
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b04c4
pop ecx
test eax, eax
je 0x4b63b1
jmp 0x4bc279
mov eax, dword [ebp - 0x130]
add dword [ebp - 0x130], 0xffffffff
test eax, eax
je case.0x4b5c88.0
add dword [ebp - 0x28], 0x28
add edi, 0x28
jmp 0x4b6383
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
push 0x1000
push edi
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0b68
add esp, 0xc
jmp case.0x4b5c88.0
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b31c0
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x4b641b
jmp case.0x4b5c88.0
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004b30cc
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b6437
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 0x54]
add ecx, 2
or ecx, 1
mov dword [eax + 0x54], ecx
mov edx, dword [esi + 4]
mov eax, dword [ebp + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [eax + 0x14], edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], ecx
jmp 0x4b64d1
mov eax, dword [ebp - 0x12c]
lea ecx, [eax + eax*4]
mov edx, dword [ebp - 0x130]
test byte [edx + ecx*8 + 0x1d], 0x10
je 0x4b6499
shl eax, 3
lea eax, [eax + eax*4]
add eax, edx
push eax
call fcn.004b04c4
pop ecx
test eax, eax
je 0x4b6499
jmp 0x4bc279
mov edx, dword [ebp - 0x12c]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x130]
push edx
call fcn.004b0584
pop ecx
mov ecx, dword [ebp - 0x12c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x130]
push ecx
call fcn.004b58dc
pop ecx
inc dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [esi + 8]
jl 0x4b646b
cmp byte [ebx + 0x40], 0
jne 0x4bc279
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
inc eax
mov dword [edx + 0x58], eax
mov dword [ebp - 0xc], 0x64
jmp 0x4bc23a
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl eax, 3
shl edi, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov cx, word [edi + 0x1c]
mov esi, dword [ebp - 0x20]
or cx, word [esi + 0x1c]
test cl, 1
je 0x4b6545
mov eax, dword [ebp - 0x28]
push eax
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
test byte [edi + 0x1d], 0x40
je 0x4b6554
push edi
call fcn.004b0528
pop ecx
jmp 0x4b6556
xor eax, eax
test eax, eax
jne 0x4bc279
mov edx, dword [ebp - 0x20]
test byte [edx + 0x1d], 0x40
je 0x4b6573
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004b0528
pop ecx
jmp 0x4b6575
xor eax, eax
test eax, eax
jne 0x4bc279
test byte [edi + 0x1c], 0x12
jne 0x4b659b
xor edx, edx
mov dl, byte [ebp - 0xe]
push edx
push edi
call fcn.004b05dc
add esp, 8
test eax, eax
je 0x4b659b
jmp 0x4bc279
mov ecx, dword [ebp - 0x20]
test byte [ecx + 0x1c], 0x12
jne 0x4b65bf
xor ecx, ecx
mov cl, byte [ebp - 0xe]
push ecx
mov eax, dword [ebp - 0x20]
push eax
call fcn.004b05dc
add esp, 8
test eax, eax
je 0x4b65bf
jmp 0x4bc279
mov eax, dword [edi + 0x18]
mov edx, dword [ebp - 0x20]
add eax, dword [edx + 0x18]
cdq
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov eax, dword [ebx + 0x58]
cdq
cmp edx, dword [ebp - 0x12c]
jne 0x4b65ee
cmp eax, dword [ebp - 0x130]
jae 0x4b65f5
jmp 0x4bc258
jge 0x4b65f5
jmp 0x4bc258
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov cx, word [ecx + 0x1c]
and cx, 0xbe00
or cx, 2
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x20]
sete cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0x130]
add eax, 2
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b03e8
add esp, 0xc
test eax, eax
je 0x4b6638
jmp 0x4bc279
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x20]
je 0x4b665d
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x18]
push eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 4]
push ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 4]
push edx
call fcn.00500034
add esp, 0xc
mov ecx, dword [edi + 0x18]
push ecx
mov eax, dword [edi + 4]
push eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [edx + 4]
add ecx, dword [eax + 0x18]
push ecx
call fcn.00500034
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x130]
add esp, 0xc
mov ecx, dword [edx + 4]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x130]
mov ecx, dword [edx + 4]
mov byte [ecx + eax + 1], 0
mov ecx, dword [ebp - 0x28]
or word [ecx + 0x1c], 0x200
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x130]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp - 0x28]
mov al, byte [ebp - 0xe]
mov byte [ecx + 0x1f], al
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
push edi
call fcn.004b59f0
pop ecx
mov eax, dword [esi + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
push edx
call fcn.004b59f0
pop ecx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov cx, word [edi + 0x1c]
mov eax, dword [ebp - 0x20]
or cx, word [eax + 0x1c]
movzx edx, cx
mov dword [ebp - 0x12c], edx
test byte [ebp - 0x12c], 1
jne 0x4b6ab8
mov cx, word [edi + 0x1c]
mov eax, dword [ebp - 0x20]
and cx, word [eax + 0x1c]
movzx edx, cx
and edx, 4
cmp edx, 4
jne 0x4b68f4
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x128], ecx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x120], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x11c], edx
mov byte [ebp - 0x130], 1
mov cl, byte [esi]
sub cl, 0x56
je 0x4b677a
dec cl
je 0x4b67a2
dec cl
je 0x4b67ca
dec cl
je 0x4b67f2
jmp 0x4b685e
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea edx, [ebp - 0x120]
push edx
call fcn.0049c420
add esp, 0xc
test eax, eax
jne 0x4b68fb
jmp 0x4b68c3
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea eax, [ebp - 0x120]
push eax
call fcn.0049c4e8
add esp, 0xc
test eax, eax
jne 0x4b68fb
jmp 0x4b68c3
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea ecx, [ebp - 0x120]
push ecx
call fcn.0049c540
add esp, 0xc
test eax, eax
jne 0x4b68fb
jmp 0x4b68c3
cmp dword [ebp - 0x124], 0
jne 0x4b6808
cmp dword [ebp - 0x128], 0
je 0x4b6ab8
cmp dword [ebp - 0x124], 0xffffffff
jne 0x4b6833
cmp dword [ebp - 0x128], 0xffffffff
jne 0x4b6833
cmp dword [ebp - 0x11c], 0x80000000
jne 0x4b6833
cmp dword [ebp - 0x120], 0
je 0x4b68fb
push dword [ebp - 0x124]
push dword [ebp - 0x128]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
call fcn.00500133
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
jmp 0x4b68c3
cmp dword [ebp - 0x124], 0
jne 0x4b6874
cmp dword [ebp - 0x128], 0
je 0x4b6ab8
cmp dword [ebp - 0x124], 0xffffffff
jne 0x4b689a
cmp dword [ebp - 0x128], 0xffffffff
jne 0x4b689a
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x124], 0
push dword [ebp - 0x124]
push dword [ebp - 0x128]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
call fcn.005001f4
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x120]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x11c]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov cx, word [edx + 0x1c]
and cx, 0xbe00
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x4b5c88.0
mov byte [ebp - 0x130], 0
push edi
call fcn.004b0860
pop ecx
fstp qword [ebp - 0x118]
wait
mov edx, dword [ebp - 0x20]
push edx
call fcn.004b0860
pop ecx
fstp qword [ebp - 0x110]
wait
mov cl, byte [esi]
sub cl, 0x56
je 0x4b692f
dec cl
je 0x4b6947
dec cl
je 0x4b695f
dec cl
je 0x4b6977
jmp 0x4b69aa
fld qword [ebp - 0x118]
fadd qword [ebp - 0x110]
fstp qword [ebp - 0x110]
wait
jmp 0x4b6a4a
fld qword [ebp - 0x118]
fsubr qword [ebp - 0x110]
fstp qword [ebp - 0x110]
wait
jmp 0x4b6a4a
fld qword [ebp - 0x118]
fmul qword [ebp - 0x110]
fstp qword [ebp - 0x110]
wait
jmp 0x4b6a4a
fld qword [ebp - 0x118]
fld dword [0x4bc31c]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4b6ab8
fld qword [ebp - 0x118]
fdivr qword [ebp - 0x110]
fstp qword [ebp - 0x110]
wait
jmp 0x4b6a4a
fld qword [ebp - 0x118]
call fcn.00500310
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fld qword [ebp - 0x110]
call fcn.00500310
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
cmp dword [ebp - 0x124], 0
jne 0x4b69ee
cmp dword [ebp - 0x128], 0
je 0x4b6ab8
cmp dword [ebp - 0x124], 0xffffffff
jne 0x4b6a14
cmp dword [ebp - 0x128], 0xffffffff
jne 0x4b6a14
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x124], 0
push dword [ebp - 0x124]
push dword [ebp - 0x128]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
call fcn.005001f4
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
fild qword [ebp - 0x138]
fstp qword [ebp - 0x110]
wait
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
call fcn.0049b418
add esp, 8
test eax, eax
je 0x4b6a64
jmp 0x4b6ab8
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x110]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov ax, word [ecx + 0x1c]
and ax, 0xbe00
or ax, 8
mov word [edx + 0x1c], ax
test byte [ebp - 0x12c], 8
jne case.0x4b5c88.0
cmp byte [ebp - 0x130], 0
jne case.0x4b5c88.0
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b08d0
pop ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x28]
push eax
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
cmp dword [esi + 4], 0
je case.0x4b5c88.0
push 0
push 0
mov edx, dword [esi + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
push edx
call fcn.004b0a7c
add esp, 0xc
jmp case.0x4b5c88.0
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xe8], edx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov eax, dword [esi + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x12c], eax
xor edx, edx
mov dword [ebp - 0x130], edx
jmp 0x4b6b76
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x12c]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x12c]
test byte [eax + 0x1d], 0x10
je 0x4b6b5c
push eax
call fcn.004b04c4
pop ecx
test eax, eax
je 0x4b6b5c
jmp 0x4bc279
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004b58dc
pop ecx
inc dword [ebp - 0x130]
add dword [ebp - 0x12c], 0x28
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0xe4]
jl 0x4b6b31
cmp byte [esi + 1], 0xfb
jne 0x4b6b9d
mov edx, dword [esi + 0x10]
xor ecx, ecx
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x124], ecx
jmp 0x4b6bb4
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
mov ecx, dword [edx]
mov dword [ebp - 0x128], ecx
mov word [ebp - 0x104], 1
mov dword [ebp - 0x120], ebx
xor eax, eax
mov dword [ebp - 0x100], eax
xor edx, edx
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0x28]
push ecx
lea eax, [ebp - 0x120]
push eax
call fcn.004b0c00
mov dx, word [ebp - 0x104]
xor ecx, ecx
and dx, 0xbe00
add esp, 8
or dx, 1
mov word [ebp - 0x104], dx
mov dword [ebp - 0xf0], ecx
mov eax, dword [ebp - 0x128]
test byte [eax + 3], 8
je 0x4b6c1a
mov edx, dword [esi - 4]
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebx + 0x20], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebx + 0x24], ecx
lea ecx, [ebp - 0x128]
mov eax, dword [ebp - 0xe8]
push eax
mov edx, dword [ebp - 0xe4]
push edx
push ecx
mov eax, dword [ebp - 0x128]
call dword [eax + 0xc]
add esp, 0xc
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x38], edx
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x124], 0
je 0x4b6c7c
mov ecx, dword [esi + 4]
push ecx
mov eax, dword [ebp - 0x124]
push eax
call fcn.004b3638
add esp, 8
mov edx, dword [ebp - 0x124]
mov dword [esi + 0x10], edx
mov byte [esi + 1], 0xf9
cmp byte [ebx + 0x40], 0
je 0x4b6c94
lea ecx, [ebp - 0x120]
push ecx
call fcn.004b0740
pop ecx
jmp 0x4bc279
cmp dword [ebp - 0xf0], 0
je 0x4b6cc9
lea eax, [ebp - 0x120]
push eax
call fcn.004b4488
pop ecx
push eax
push 0x51db8c
push ebx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00499834
add esp, 0x10
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xc], ecx
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
lea edx, [ebp - 0x120]
push edx
call fcn.004b03c0
add esp, 8
lea ecx, [ebp - 0x120]
push ecx
mov eax, dword [ebp - 0x28]
push eax
call fcn.004b0c00
add esp, 8
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b0b3c
pop ecx
test eax, eax
je case.0x4b5c88.0
jmp 0x4bc258
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl eax, 3
shl edi, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov cx, word [edi + 0x1c]
mov eax, dword [ebp - 0x20]
or cx, word [eax + 0x1c]
test cl, 1
je 0x4b6d56
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004b07f0
pop ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
push edi
call fcn.004b07f0
pop ecx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
mov cl, byte [esi]
mov byte [ebp - 0x118], cl
xor eax, eax
mov al, byte [ebp - 0x118]
cmp eax, 0x52
jne 0x4b6db1
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
and dword [ebp - 0x130], eax
and dword [ebp - 0x12c], edx
jmp 0x4b6f69
xor ecx, ecx
mov cl, byte [ebp - 0x118]
cmp ecx, 0x53
jne 0x4b6ddb
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
or dword [ebp - 0x130], eax
or dword [ebp - 0x12c], edx
jmp 0x4b6f69
cmp dword [ebp - 0x11c], 0
jne 0x4b6df1
cmp dword [ebp - 0x120], 0
je 0x4b6f69
cmp dword [ebp - 0x11c], 0
jne 0x4b6e05
cmp dword [ebp - 0x120], 0
jae 0x4b6e53
jmp 0x4b6e07
jge 0x4b6e53
mov cl, 0xa9
sub cl, byte [ebp - 0x118]
mov byte [ebp - 0x118], cl
cmp dword [ebp - 0x11c], 0xffffffff
jne 0x4b6e29
cmp dword [ebp - 0x120], 0xffffffc0
jbe 0x4b6e40
jmp 0x4b6e2b
jle 0x4b6e40
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
neg eax
adc edx, 0
neg edx
jmp 0x4b6e47
mov eax, 0x40
xor edx, edx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
cmp dword [ebp - 0x11c], 0
jne 0x4b6e67
cmp dword [ebp - 0x120], 0x40
jb 0x4b6ea5
jmp 0x4b6e69
jl 0x4b6ea5
cmp dword [ebp - 0x12c], 0
jne 0x4b6e7d
cmp dword [ebp - 0x130], 0
jae 0x4b6e8c
jmp 0x4b6e7f
jge 0x4b6e8c
xor ecx, ecx
mov cl, byte [ebp - 0x118]
cmp ecx, 0x54
jne 0x4b6e90
xor eax, eax
jmp 0x4b6e93
or eax, 0xffffffff
cdq
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
jmp 0x4b6f69
push 8
lea ecx, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x128]
push ecx
call fcn.00500034
add esp, 0xc
xor eax, eax
mov al, byte [ebp - 0x118]
cmp eax, 0x54
jne 0x4b6ef1
mov eax, dword [ebp - 0x120]
mov ecx, eax
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
call fcn.005002bc
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
jmp 0x4b6f51
mov eax, dword [ebp - 0x120]
mov ecx, eax
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
call fcn.005002f4
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x12c], 0
jne 0x4b6f2a
cmp dword [ebp - 0x130], 0
jae 0x4b6f51
jmp 0x4b6f2c
jge 0x4b6f51
mov eax, dword [ebp - 0x120]
mov ecx, 0x40
sub ecx, eax
mov eax, 0xffffffff
mov edx, eax
call fcn.005002bc
or dword [ebp - 0x128], eax
or dword [ebp - 0x124], edx
push 8
lea ecx, [ebp - 0x128]
push ecx
lea eax, [ebp - 0x130]
push eax
call fcn.00500034
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x130]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x12c]
mov dword [edx + 0x14], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov cx, word [edx + 0x1c]
and cx, 0xbe00
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
push edi
call fcn.004b093c
pop ecx
mov eax, dword [esi + 8]
cdq
add dword [edi + 0x10], eax
adc dword [edi + 0x14], edx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov al, byte [ebp - 0xe]
push eax
push 0x63
push edi
call fcn.004b5a68
add esp, 0xc
test byte [edi + 0x1c], 4
jne 0x4b7000
cmp dword [esi + 8], 0
jne 0x4b6ff4
mov dword [ebp - 0xc], 0x14
jmp 0x4bc29e
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov cx, word [edi + 0x1c]
and cx, 0xbe00
or cx, 4
mov word [edi + 0x1c], cx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 4
je case.0x4b5c88.0
push edi
call fcn.004b0968
pop ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
jne case.0x4b5c88.0
movzx eax, word [edi + 0x1c]
and eax, 0x10
sar eax, 3
or word [edi + 0x1c], ax
mov dl, byte [ebp - 0xe]
push edx
push 0x61
push edi
call fcn.004b5a68
add esp, 0xc
test byte [edi + 0x1d], 0x40
je 0x4b707a
push edi
call fcn.004b0528
pop ecx
jmp 0x4b707c
xor eax, eax
mov dword [ebp - 0xc], eax
and word [edi + 0x1c], 0xbfe3
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
jne case.0x4b5c88.0
test byte [edi + 0x1c], 0x10
jne 0x4b70cb
mov al, byte [ebp - 0xe]
push eax
push 0x61
push edi
call fcn.004b5a68
mov dx, word [edi + 0x1c]
add esp, 0xc
and dx, 0xbe00
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.0x4b5c88.0
and word [edi + 0x1c], 0xfe10
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
push edi
call fcn.004b0990
pop ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
jne case.0x4b5c88.0
push edi
call fcn.004b093c
pop ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
jne case.0x4b5c88.0
push edi
call fcn.004b0968
pop ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
mov eax, dword [esi + 0xc]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov dx, word [edi + 0x1c]
mov word [ebp - 0x12a], dx
mov ecx, dword [ebp - 0x24]
mov cx, word [ecx + 0x1c]
mov word [ebp - 0x128], cx
mov ax, word [ebp - 0x12a]
or ax, word [ebp - 0x128]
test al, 1
je 0x4b7205
test byte [esi + 3], 0x80
je 0x4b71b9
test byte [ebp - 0x12a], 1
je 0x4b71aa
test byte [ebp - 0x128], 1
je 0x4b71aa
test byte [ebp - 0x127], 1
jne 0x4b71aa
xor edx, edx
mov dword [ebp - 0x130], edx
jmp 0x4b7286
mov dword [ebp - 0x130], 1
jmp 0x4b7286
test byte [esi + 3], 0x10
je 0x4b71ea
mov ecx, dword [esi + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dx, word [eax + 0x1c]
mov eax, dword [ebp - 0x28]
and dx, 0xbe00
or dx, 1
mov word [eax + 0x1c], dx
jmp case.0x4b5c88.0
test byte [esi + 3], 8
je case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov cl, byte [esi + 3]
and cl, 0x67
mov byte [ebp - 0x12c], cl
cmp byte [ebp - 0x12c], 0
je 0x4b724f
mov cl, byte [ebp - 0xe]
push ecx
mov al, byte [ebp - 0x12c]
push eax
push edi
call fcn.004b5a68
add esp, 0xc
mov dl, byte [ebp - 0xe]
push edx
mov cl, byte [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x24]
push eax
call fcn.004b5a68
add esp, 0xc
cmp byte [ebx + 0x40], 0
jne 0x4bc279
test byte [edi + 0x1d], 0x40
je 0x4b725c
push edi
call fcn.004b0528
pop ecx
mov edx, dword [ebp - 0x24]
test byte [edx + 0x1d], 0x40
je 0x4b726f
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b0528
pop ecx
mov eax, dword [esi + 0x10]
push eax
push edi
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b0dc0
add esp, 0xc
mov dword [ebp - 0x130], eax
xor ecx, ecx
mov cl, byte [esi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x4b7296
jmp dword [ecx*4 + 0x4b729d]
cmp dword [ebp - 0x130], 0
sete al
and eax, 1
mov dword [ebp - 0x130], eax
jmp 0x4b732d
cmp dword [ebp - 0x130], 0
setne dl
and edx, 1
mov dword [ebp - 0x130], edx
jmp 0x4b732d
cmp dword [ebp - 0x130], 0
setl cl
and ecx, 1
mov dword [ebp - 0x130], ecx
jmp 0x4b732d
cmp dword [ebp - 0x130], 0
setle al
and eax, 1
mov dword [ebp - 0x130], eax
jmp 0x4b732d
cmp dword [ebp - 0x130], 0
setg dl
and edx, 1
mov dword [ebp - 0x130], edx
jmp 0x4b732d
cmp dword [ebp - 0x130], 0
setge cl
and ecx, 1
mov dword [ebp - 0x130], ecx
test byte [esi + 3], 0x10
je 0x4b736b
mov eax, dword [esi + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov cx, word [edx + 0x1c]
and cx, 0xbe00
or cx, 4
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4b737b
cmp dword [ebp - 0x130], 0
je 0x4b737b
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
mov ax, word [edi + 0x1c]
mov dx, word [ebp - 0x12a]
and dx, 0x1ff
and ax, 0xfe00
or ax, dx
mov word [edi + 0x1c], ax
mov dx, word [ebp - 0x128]
mov ecx, dword [ebp - 0x24]
and dx, 0x1ff
mov ax, word [ecx + 0x1c]
and ax, 0xfe00
or ax, dx
mov edx, dword [ebp - 0x24]
mov word [edx + 0x1c], ax
jmp case.0x4b5c88.0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x30], eax
jmp case.0x4b5c88.0
test byte [esi + 3], 1
jne 0x4b73d2
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x120], eax
mov edx, dword [esi + 4]
mov dword [ebp - 0x128], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x124], ecx
xor eax, eax
mov dword [ebp - 0x12c], eax
jmp 0x4b74ac
cmp dword [ebp - 0x30], 0
je 0x4b7417
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x12c]
mov edx, dword [edx + eax*4]
jmp 0x4b741d
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x12c]
mov ecx, dword [eax + ecx*4 + 0xc]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x120]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x12c]
movzx edx, byte [edx + eax]
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x118]
push ecx
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x11c]
add edx, eax
mov ecx, edx
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x128]
add edx, eax
mov eax, edx
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.004b0dc0
add esp, 0xc
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4b74a6
cmp dword [ebp - 0x114], 0
je 0x4b74be
neg dword [ebp - 0x2c]
jmp 0x4b74be
inc dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x130]
jl 0x4b7403
xor ecx, ecx
mov dword [ebp - 0x30], ecx
jmp case.0x4b5c88.0
cmp dword [ebp - 0x2c], 0
jge 0x4b74da
mov eax, dword [esi + 4]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
cmp dword [ebp - 0x2c], 0
jne 0x4b74ec
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
je 0x4b7516
mov dword [ebp - 0x130], 2
jmp 0x4b7531
push edi
call fcn.004b07f0
pop ecx
cmp edx, 0
jne 0x4b7525
cmp eax, 0
setne al
and eax, 1
mov dword [ebp - 0x130], eax
mov edx, dword [esi + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
test byte [ecx + 0x1c], 1
je 0x4b7555
mov dword [ebp - 0x12c], 2
jmp 0x4b7573
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004b07f0
pop ecx
cmp edx, 0
jne 0x4b7567
cmp eax, 0
setne al
and eax, 1
mov dword [ebp - 0x12c], eax
xor edx, edx
mov dl, byte [esi]
cmp edx, 0x45
jne 0x4b759e
mov ecx, dword [ebp - 0x130]
lea ecx, [ecx + ecx*2]
lea eax, [ecx + 0x518c2c]
mov edx, dword [ebp - 0x12c]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [ebp - 0x130], ecx
jmp 0x4b75bd
mov eax, dword [ebp - 0x130]
lea eax, [eax + eax*2]
lea edx, [eax + 0x518c35]
mov eax, dword [ebp - 0x12c]
movzx edx, byte [edx + eax]
mov dword [ebp - 0x130], edx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x130], 2
jne 0x4b75f0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov ax, word [ecx + 0x1c]
and ax, 0xbe00
or ax, 1
mov word [edx + 0x1c], ax
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
mov ax, word [ecx + 0x1c]
and ax, 0xbe00
or ax, 4
mov word [edx + 0x1c], ax
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
test byte [edi + 0x1c], 1
je 0x4b764b
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
push edi
call fcn.004b07f0
pop ecx
cmp edx, 0
jne 0x4b765a
cmp eax, 0
setne al
and eax, 1
cmp eax, 1
sbb eax, eax
neg eax
cdq
push edx
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b0a7c
add esp, 0xc
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
test byte [edi + 0x1c], 1
je 0x4b76ab
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
push edi
call fcn.004b07f0
pop ecx
not eax
not edx
push edx
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b0a7c
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb8]
mov edx, dword [esi + 4]
cmp byte [eax + edx], 0
je 0x4b76e7
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb8]
mov eax, dword [esi + 4]
mov byte [edx + eax], 1
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
je 0x4b7719
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x130], eax
jmp 0x4b7757
push edi
call fcn.004b0860
pop ecx
fld dword [0x4bc31c]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x44
setp dl
and edx, 1
mov dword [ebp - 0x130], edx
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x1c
jne 0x4b7757
mov ecx, dword [ebp - 0x130]
cmp ecx, 1
sbb eax, eax
neg eax
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
je case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 1
jne case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
mov dword [ebp - 0x120], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x11c], ecx
xor ecx, ecx
mov dword [ebp - 0x118], ecx
push 0x28
push 0
lea eax, [ebp - 0xf0]
push eax
call fcn.00500058
mov edx, dword [esi + 0xc]
xor ecx, ecx
shl edx, 3
add esp, 0xc
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0x120]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0
je 0x4b78e0
mov eax, dword [ebp - 0x118]
push eax
call fcn.004b37a8
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov edx, dword [ebp - 0x118]
cmp byte [edx + 0x1c], 0
je 0x4b785e
xor ecx, ecx
mov dword [ebp - 0x130], ecx
jmp 0x4b79ab
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp + 8]
cmp edx, dword [eax + 0x54]
jne 0x4b7892
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0x114], eax
jmp 0x4b79ab
mov edx, dword [ebp - 0x118]
cmp byte [edx + 0x1f], 0
je 0x4b78c5
lea ecx, [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x110]
push eax
call fcn.004aa8a8
add esp, 8
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x130], eax
jmp 0x4b79ab
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.004aa904
add esp, 8
jmp 0x4b79ab
mov ecx, dword [ebp - 0x118]
cmp dword [ecx + 0x10], 0
jle 0x4b79a3
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x10]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0x118]
cmp byte [ecx + 0x22], 0
je 0x4b796a
push 0x1000
mov eax, dword [ebp - 0x11c]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0xac]
push eax
mov edx, dword [ebp - 0xf4]
push edx
call fcn.004b0b68
add esp, 0xc
mov ecx, dword [ebp - 0xf4]
test byte [ecx + 0x1d], 0x10
je case.0x4b5c88.0
mov eax, dword [ebp - 0xf4]
push eax
call fcn.004b04c4
pop ecx
test eax, eax
je case.0x4b5c88.0
jmp 0x4bc279
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx + 0x18]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0xac]
mov edx, dword [eax + 4]
mov dword [ebp - 0x114], edx
test byte [esi + 3], 0x20
je 0x4b7992
xor ecx, ecx
jmp 0x4b7998
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x50], ecx
jmp 0x4b79ab
xor edx, edx
mov dword [ebp - 0x130], edx
cmp dword [ebp - 0x130], 0
jne 0x4b79d5
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
mov ax, word [ecx + 0x1c]
and ax, 0xbe00
or ax, 1
mov word [edx + 0x1c], ax
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebx + 0x58]
jbe 0x4b79e5
jmp 0x4bc258
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x50]
cmp ecx, dword [eax + 0x54]
jne 0x4b7a28
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x5c]
mov dword [ebp - 0x108], ecx
jmp 0x4b7d6d
xor eax, eax
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0x104]
shl edx, 2
add edx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x118]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x130]
mov dword [ecx + 0x54], edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x118]
mov edx, dword [eax + 0x54]
mov dword [ecx + 0x50], edx
cmp dword [ebp - 0x114], 0
je 0x4b7a83
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xf8], ecx
jmp 0x4b7aff
mov eax, dword [ebp - 0x118]
cmp byte [eax + 0x1f], 0
je 0x4b7aad
lea edx, [ebp - 0xb4]
push edx
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.004aae0c
add esp, 8
mov dword [ebp - 0xf8], eax
jmp 0x4b7ac9
lea eax, [ebp - 0xb4]
push eax
mov edx, dword [ebp - 0x110]
push edx
call fcn.004aae30
add esp, 8
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebp - 0xb4]
ja 0x4b7af4
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0xf8]
mov dword [edx + 0x60], eax
jmp 0x4b7aff
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov dword [edx + 0x60], ecx
mov ecx, dword [ebp - 0xf8]
cmp byte [ecx], 0x80
jae 0x4b7b1e
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov cl, 1
mov dl, byte [eax]
mov dword [ebp - 0xc0], edx
jmp 0x4b7b36
lea eax, [ebp - 0xc0]
push eax
mov edx, dword [ebp - 0xf8]
push edx
call fcn.0049c1ec
add esp, 8
mov ecx, eax
xor eax, eax
mov al, cl
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xc0], 0x18003
jbe 0x4b7b5f
push 0x1085b
call fcn.004ea474
pop ecx
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov edx, dword [ebp - 0x104]
lea edx, [edx + edx*4]
add edx, 3
mov dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0x100]
jge 0x4b7b8b
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x114], 0
jne 0x4b7bf8
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x100]
jge 0x4b7bf8
mov word [ebp - 0xd4], 0
xor ecx, ecx
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xf0], ecx
push eax
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov cl, byte [edx + 0x1f]
push ecx
mov eax, dword [ebp - 0x100]
push eax
push 0
mov edx, dword [ebp - 0x110]
push edx
call fcn.004b102c
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b7bec
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0x100]
mov dword [ebp - 0xc4], eax
mov edx, dword [ebp - 0xf8]
add edx, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], edx
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
jmp 0x4b7cfa
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xc4]
jae 0x4b7ce3
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x80
jge 0x4b7c74
mov eax, dword [ebp - 0xc8]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xb0], edx
inc dword [ebp - 0xc8]
jmp 0x4b7c94
lea ecx, [ebp - 0xb0]
push ecx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0049c1ec
add esp, 8
xor edx, edx
mov dl, al
add dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xb0]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.004b3974
pop ecx
mov edi, eax
mov dword [ebp - 0xbc], edi
add dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0xbc]
jae 0x4b7cf4
mov edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc8], edx
jmp 0x4b7d0c
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xfc]
xor eax, eax
mov dword [ecx + edi*4], eax
inc dword [ebp - 0xfc]
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x104]
jl 0x4b7c29
lea edx, [ebp - 0xf0]
push edx
call fcn.004b0740
pop ecx
mov word [ebp - 0xd4], 1
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0xc4]
ja 0x4b7d5a
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0x130]
ja 0x4b7d5a
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0xc4]
jne 0x4b7d6d
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ebp - 0x130]
je 0x4b7d6d
push 0x108ab
call fcn.004ea474
pop ecx
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x11c]
cmp dword [ecx + eax*4], 0
je 0x4b7ed6
cmp dword [ebp - 0x114], 0
je 0x4b7de1
mov edx, dword [ebp - 0xf4]
test word [edx + 0x1c], 0x2460
je 0x4b7da7
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.004b06dc
pop ecx
mov eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x11c]
mov edx, dword [edx + eax*4]
push edx
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ecx + eax*4]
add edx, dword [ebp - 0x114]
push edx
call fcn.004b3a64
add esp, 0xc
jmp 0x4b7ec8
mov ecx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x11c]
mov eax, dword [ecx + edi*4]
mov dword [ebp - 0xb0], eax
test byte [esi + 3], 0xc0
je 0x4b7e2f
cmp dword [ebp - 0xb0], 0xc
jb 0x4b7e0e
test byte [ebp - 0xb0], 1
je 0x4b7e14
test byte [esi + 3], 0x80
je 0x4b7e2f
cmp dword [ebp - 0xb0], 0xc
jae 0x4b7e25
lea edx, [ebp - 0x128]
jmp 0x4b7e27
xor edx, edx
mov dword [ebp - 0xf8], edx
jmp 0x4b7eab
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004b3974
pop ecx
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0xf4]
push ecx
lea ecx, [ebp - 0xf0]
push ecx
call fcn.004b0c00
add esp, 8
lea eax, [ebp - 0xf0]
push eax
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov cl, byte [edx + 0x1f]
push ecx
mov eax, dword [ebp - 0x100]
push eax
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x11c]
mov edx, dword [edx + eax*4]
push edx
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.004b102c
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b7e9f
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xf4]
push eax
mov edx, dword [ebp - 0xb0]
push edx
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.004b3a64
add esp, 0xc
mov eax, dword [ebp - 0xf4]
mov dl, byte [ebp - 0xe]
mov byte [eax + 0x1f], dl
jmp 0x4b7f13
cmp byte [esi + 1], 0xf8
jne 0x4b7ef6
push 0x800
mov ecx, dword [esi + 0x10]
push ecx
mov eax, dword [ebp - 0xf4]
push eax
call fcn.004b0b68
add esp, 0xc
jmp 0x4b7f13
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov cx, word [edx + 0x1c]
and cx, 0xbe00
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xcc], 0
je 0x4b7f52
mov edx, dword [ebp - 0xf4]
and word [edx + 0x1c], 0xe7ff
mov ecx, dword [ebp - 0xf4]
or word [ecx + 0x1c], 0x200
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xec]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0xf4]
push edx
call fcn.004b04c4
pop ecx
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x130], ecx
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
jmp 0x4b7fa2
test byte [edi + 0x1d], 0x40
je 0x4b7f8b
push edi
call fcn.004b0528
pop ecx
mov al, byte [ebp - 0xe]
push eax
mov dl, byte [ebp - 0x12c]
push edx
push edi
call fcn.004b5a68
add esp, 0xc
add edi, 0x28
mov ecx, dword [ebp - 0x130]
inc dword [ebp - 0x130]
mov cl, byte [ecx]
mov byte [ebp - 0x12c], cl
test cl, cl
jne 0x4b7f7e
jmp case.0x4b5c88.0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x110], edx
mov ecx, dword [esi + 4]
mov dword [ebp - 0xfc], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp - 0xfc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x104], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0xfc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0xfc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x104]
add eax, 0xffffffd8
mov dword [ebp - 0x100], eax
mov edx, dword [ebp + 8]
mov cl, byte [edx + 0x61]
mov dword [ebp - 0xf4], ecx
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x12c], edx
jmp 0x4b8138
cmp dword [ebp - 0xf8], 0
je 0x4b8096
mov cl, byte [ebp - 0xe]
push ecx
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x104]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [ebp - 0xf8]
mov al, byte [edx + eax]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004b5a68
add esp, 0xc
mov eax, dword [ebp - 0x12c]
test byte [eax + 0x1d], 0x40
je 0x4b80af
cmp dword [eax + 0x18], 0
jle 0x4b80af
push eax
call fcn.004b0528
pop ecx
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004b3830
add esp, 8
mov edi, eax
mov dword [ebp - 0x108], edi
push edi
call fcn.004b3974
mov esi, eax
pop ecx
mov eax, esi
mov dword [ebp - 0xec], esi
cdq
add dword [ebp - 0x128], eax
adc dword [ebp - 0x124], edx
xor edx, edx
mov eax, dword [ebp - 0x108]
push edx
push eax
call fcn.0049c274
add esp, 8
add dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x12c]
test byte [ecx + 0x1d], 0x40
je 0x4b8120
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 0x10]
add dword [ebp - 0x110], eax
jmp 0x4b8131
cmp dword [ebp - 0xec], 0
je 0x4b8131
xor edx, edx
mov dword [ebp - 0x110], edx
add dword [ebp - 0x12c], 0x28
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x100]
jbe 0x4b805c
mov eax, dword [ebp - 0x120]
cdq
push edx
push eax
call fcn.0049c274
add esp, 8
mov dword [ebp - 0x10c], eax
add dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
cdq
push edx
push eax
call fcn.0049c274
add esp, 8
cmp eax, dword [ebp - 0x10c]
jle 0x4b8186
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x120]
cdq
add eax, dword [ebp - 0x128]
adc edx, dword [ebp - 0x124]
push edx
push eax
mov eax, dword [ebp - 0x110]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov eax, dword [ebx + 0x58]
cdq
cmp edx, dword [ebp - 0x114]
jne 0x4b81d0
cmp eax, dword [ebp - 0x118]
jae 0x4b81d7
jmp 0x4bc258
jge 0x4b81d7
jmp 0x4bc258
push 0
mov eax, dword [ebp - 0x118]
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b03e8
add esp, 0xc
test eax, eax
je 0x4b81f5
jmp 0x4bc279
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x120], 0x80
jae 0x4b821f
mov eax, dword [ebp - 0x130]
mov dl, byte [ebp - 0x120]
mov byte [eax], dl
mov cl, 1
jmp 0x4b8237
mov eax, dword [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x130]
push edx
call fcn.0049bf94
add esp, 8
mov ecx, eax
xor eax, eax
mov al, cl
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x12c], edx
jmp 0x4b82b8
mov ecx, dword [ebp - 0xf4]
push ecx
push esi
call fcn.004b3830
add esp, 8
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0x80
jae 0x4b828a
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0xf0]
mov cl, byte [ebp - 0x108]
mov byte [eax + edx], cl
mov al, 1
jmp 0x4b82a6
mov edx, dword [ebp - 0x108]
push edx
mov ecx, dword [ebp - 0x130]
add ecx, dword [ebp - 0xf0]
push ecx
call fcn.0049bf94
add esp, 8
and eax, 0xff
add dword [ebp - 0xf0], eax
add dword [ebp - 0x12c], 0x28
mov esi, dword [ebp - 0x12c]
cmp esi, dword [ebp - 0x100]
jbe 0x4b824f
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x12c], eax
jmp 0x4b8317
mov edx, dword [ebp - 0xf4]
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0xf0]
push eax
mov edx, dword [ebp - 0x130]
add edx, dword [ebp - 0xf0]
push edx
call fcn.004b3994
add esp, 0x10
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], eax
add dword [ebp - 0x12c], 0x28
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x100]
jbe 0x4b82d4
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], 0x410
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [ecx + 0x20], eax
cmp dword [ebp - 0x110], 0
je 0x4b8360
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x110]
mov dword [edx + 0x10], eax
mov edx, dword [ebp - 0x28]
or word [edx + 0x1c], 0x4000
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 0x1f], 1
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x4b83a4
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004ae770
add esp, 8
mov dword [ebp - 0xc], eax
jmp 0x4b83b8
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x130]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x12c]
mov dword [eax + 0x14], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x130], 0
jne 0x4b84f8
cmp dword [ebx + 0x90], 0
jle 0x4b841b
push str.cannot_open_savepoint___SQL_statements_in_progress
push ebx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00499834
mov dword [ebp - 0xc], 5
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0049b450
pop ecx
mov dword [ebp - 0x128], eax
mov eax, dword [ebx + 0x1ec]
add eax, dword [ebx + 0x1e8]
push eax
push 0
push ebx
call fcn.004de720
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov edx, dword [ebp - 0x128]
add edx, 0x19
push edx
push ebx
call fcn.00499664
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je case.0x4b5c88.0
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x124]
add ecx, 0x18
mov dword [eax], ecx
mov edx, dword [ebp - 0x128]
inc edx
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x124]
mov edx, dword [eax]
push edx
call fcn.00500034
add esp, 0xc
cmp byte [ebx + 0x3e], 0
je 0x4b84ba
mov byte [ebx + 0x3e], 0
mov byte [ebx + 0x45], 1
jmp 0x4b84c0
inc dword [ebx + 0x1e8]
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebx + 0x1e0]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x124]
mov dword [ebx + 0x1e0], edx
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebx + 0x1f0]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x1f4]
mov dword [ecx + 0xc], eax
jmp case.0x4b5c88.0
xor edx, edx
mov dword [ebp - 0x118], edx
mov ecx, dword [ebx + 0x1e0]
mov dword [ebp - 0x120], ecx
jmp 0x4b8523
inc dword [ebp - 0x118]
mov eax, dword [ebp - 0x120]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0
je 0x4b8548
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x120]
mov edx, dword [eax]
push edx
call fcn.0049b5b0
add esp, 8
test eax, eax
jne 0x4b850e
cmp dword [ebp - 0x120], 0
jne 0x4b8579
mov ecx, dword [ebp - 0x12c]
push ecx
push str.no_such_savepoint:__s
push ebx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00499834
add esp, 0x10
mov dword [ebp - 0xc], 1
jmp case.0x4b5c88.0
cmp dword [ebx + 0x90], 0
jle 0x4b85ac
cmp dword [ebp - 0x130], 1
jne 0x4b85ac
push str.cannot_release_savepoint___SQL_statements_in_progress
push ebx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00499834
mov dword [ebp - 0xc], 5
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x120]
cmp dword [ecx + 0x10], 0
jne 0x4b85be
cmp byte [ebx + 0x45], 0
jne 0x4b85c2
xor eax, eax
jmp 0x4b85c7
mov eax, 1
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x4b8638
cmp dword [ebp - 0x130], 1
jne 0x4b8638
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.004b31c0
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x4b85f3
jmp 0x4bc23a
mov byte [ebx + 0x3e], 1
mov edx, dword [ebp + 8]
push edx
call fcn.004b322c
pop ecx
cmp eax, 5
jne 0x4b8626
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edx, 5
mov dword [ecx + 0x58], eax
mov byte [ebx + 0x3e], 0
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], edx
jmp 0x4bc23a
mov byte [ebx + 0x45], 0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5c]
mov dword [ebp - 0xc], ecx
jmp 0x4b872e
mov eax, dword [ebx + 0x1e8]
sub eax, dword [ebp - 0x118]
dec eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x130], 2
jne 0x4b868a
xor edx, edx
mov dword [ebp - 0x114], edx
jmp 0x4b867f
push 4
mov ecx, dword [ebp - 0x114]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 4]
push edx
call fcn.004aa510
add esp, 8
inc dword [ebp - 0x114]
mov ecx, dword [ebp - 0x114]
cmp ecx, dword [ebx + 0x14]
jl 0x4b865e
xor eax, eax
mov dword [ebp - 0x114], eax
jmp 0x4b86cf
mov edx, dword [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x130]
push ecx
mov eax, dword [ebp - 0x114]
shl eax, 4
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.004aa680
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b86c9
jmp 0x4bc29e
inc dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebx + 0x14]
jl 0x4b8694
cmp dword [ebp - 0x130], 2
jne 0x4b872e
test byte [ebx + 0x18], 2
je 0x4b872e
push ebx
call fcn.004b41b8
pop ecx
push ebx
call fcn.004c67b4
pop ecx
or dword [ebx + 0x18], 2
jmp 0x4b872e
mov edx, dword [ebx + 0x1e0]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x1e0], eax
mov edx, dword [ebp - 0x11c]
push edx
push ebx
call fcn.00499448
add esp, 8
dec dword [ebx + 0x1e8]
mov ecx, dword [ebx + 0x1e0]
cmp ecx, dword [ebp - 0x120]
jne 0x4b86fd
cmp dword [ebp - 0x130], 1
jne 0x4b8772
mov eax, dword [ebp - 0x120]
mov edx, dword [eax + 0x10]
mov dword [ebx + 0x1e0], edx
mov ecx, dword [ebp - 0x120]
push ecx
push ebx
call fcn.00499448
add esp, 8
cmp dword [ebp - 0x40], 0
jne 0x4b878a
dec dword [ebx + 0x1e8]
jmp 0x4b878a
mov eax, dword [ebp - 0x120]
mov edx, dword [eax + 8]
mov dword [ebx + 0x1f0], edx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0x1f4], edx
cmp dword [ebp - 0x40], 0
jne case.0x4b5c88.0
mov ecx, dword [ebp - 0x118]
push ecx
mov eax, dword [ebp - 0x130]
push eax
push ebx
call fcn.004de720
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
mov dword [ebp - 0x130], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x130], 0
je 0x4b87de
cmp byte [ebx + 0x3e], 0
je 0x4b87e2
xor eax, eax
jmp 0x4b87e7
mov eax, 1
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x4b8829
cmp dword [ebp - 0x12c], 0
jne 0x4b8829
cmp dword [ebx + 0x90], 0
jle 0x4b8829
push str.cannot_commit_transaction___SQL_statements_in_progress
push ebx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00499834
mov dword [ebp - 0xc], 5
add esp, 0xc
jmp case.0x4b5c88.0
xor ecx, ecx
mov cl, byte [ebx + 0x3e]
cmp ecx, dword [ebp - 0x130]
je 0x4b88df
cmp dword [ebp - 0x12c], 0
je 0x4b8857
push 0x204
push ebx
call fcn.004e8cec
mov byte [ebx + 0x3e], 1
add esp, 8
jmp 0x4b88b2
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004b31c0
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x4b8873
jmp 0x4bc23a
mov dl, byte [ebp - 0x130]
mov byte [ebx + 0x3e], dl
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b322c
pop ecx
cmp eax, 5
jne 0x4b88b2
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov dl, 1
mov dword [ecx + 0x58], eax
sub dl, byte [ebp - 0x130]
mov ecx, 5
mov byte [ebx + 0x3e], dl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], ecx
jmp 0x4bc23a
push ebx
call fcn.004e892c
pop ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5c], 0
jne 0x4b88ce
mov dword [ebp - 0xc], 0x65
jmp 0x4bc23a
mov dword [ebp - 0xc], 1
jmp 0x4bc23a
cmp dword [ebp - 0x130], 0
jne 0x4b88ef
mov ecx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4b8904
cmp dword [ebp - 0x12c], 0
je 0x4b88ff
mov ecx, str.cannot_rollback___no_transaction_is_active
jmp 0x4b8904
mov ecx, str.cannot_commit___no_transaction_is_active
push ecx
push ebx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00499834
mov dword [ebp - 0xc], 1
add esp, 0xc
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
shl edx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edx + 4]
mov dword [ebp - 0x130], edx
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov ecx, dword [esi + 8]
push ecx
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.004a99b8
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 5
jne 0x4b8979
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov dword [eax + 0x58], edx
mov ecx, 5
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], ecx
jmp 0x4bc23a
cmp dword [ebp - 0xc], 0
je 0x4b8984
jmp 0x4bc29e
cmp dword [esi + 8], 0
je case.0x4b5c88.0
mov edx, dword [ebp + 8]
test byte [edx + 0x62], 0x80
je case.0x4b5c88.0
cmp byte [ebx + 0x3e], 0
je 0x4b89ae
cmp dword [ebx + 0x8c], 1
jle case.0x4b5c88.0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x70], 0
jne 0x4b89cf
inc dword [ebx + 0x1ec]
mov eax, dword [ebx + 0x1e8]
mov edx, dword [ebp + 8]
add eax, dword [ebx + 0x1ec]
mov dword [edx + 0x70], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x70]
dec eax
push eax
push 0
push ebx
call fcn.004de720
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4b8a04
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x70]
push ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004aa650
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x1f0]
mov dword [edx + 0x90], eax
mov eax, dword [ebx + 0x1f4]
mov dword [edx + 0x94], eax
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
mov dword [ebp - 0x12c], edx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x128], ecx
lea ecx, [ebp - 0x130]
push ecx
mov eax, dword [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x12c]
shl edx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edx + 4]
push edx
call fcn.004ae6d4
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [esi + 4]
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b093c
pop ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x10]
push eax
mov edx, dword [esi + 8]
push edx
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ecx + 4]
push ecx
call fcn.004ae70c
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [esi + 8], 1
jne 0x4b8ad7
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ecx], eax
or dword [ebx + 0x18], 2
jmp 0x4b8aef
cmp dword [esi + 8], 2
jne 0x4b8aef
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x130]
mov eax, dword [ecx + 0x10]
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [esi + 4], 1
jne case.0x4b5c88.0
push ebx
call fcn.004b41b8
pop ecx
mov ecx, dword [ebp + 8]
and byte [ecx + 0x62], 0xdf
jmp case.0x4b5c88.0
mov eax, dword [esi + 4]
shl eax, 4
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x128], 0
je 0x4b8b58
lea eax, [ebp - 0x130]
push eax
push 1
mov edx, dword [ebp - 0x128]
push edx
call fcn.004ae6d4
add esp, 0xc
mov ecx, dword [esi + 4]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x12c], ecx
jmp 0x4b8b66
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x130]
cmp edx, dword [esi + 8]
jne 0x4b8b80
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [esi + 0xc]
je case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
push eax
push ebx
call fcn.00499448
add esp, 8
push 0x51dcc9
push ebx
call fcn.004997b4
add esp, 8
mov edx, dword [ebp + 8]
mov dword [edx + 0x38], eax
mov ecx, dword [esi + 4]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x130]
je 0x4b8bc8
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004c677c
add esp, 8
mov edx, dword [ebp + 8]
or byte [edx + 0x62], 0x20
mov dword [ebp - 0xc], 0x11
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
test byte [ecx + 0x62], 0x20
je 0x4b8bf0
mov dword [ebp - 0xc], 4
jmp case.0x4b5c88.0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x128], ecx
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
shl edx, 4
add edx, dword [ebx + 0x10]
mov dword [ebp - 0x114], edx
xor edx, edx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x11c], eax
mov dl, byte [esi]
cmp edx, 0x28
jne 0x4b8c6e
mov dword [ebp - 0x120], 1
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + 0xc]
mov dl, byte [eax + 0x4c]
mov eax, dword [ebp + 8]
cmp dl, byte [eax + 0x61]
jae 0x4b8c76
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
mov cl, byte [ecx + 0x4c]
mov byte [eax + 0x61], cl
jmp 0x4b8c76
xor edx, edx
mov dword [ebp - 0x120], edx
test byte [esi + 3], 2
je 0x4b8cc0
mov ecx, dword [ebp - 0x128]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
push eax
call fcn.004b093c
pop ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 2
jge 0x4b8cc0
push 0x10bd7
call fcn.004ea474
pop ecx
mov dword [ebp - 0xc], eax
jmp 0x4bc29e
cmp byte [esi + 1], 0xfa
jne 0x4b8cf9
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x12c]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0x12c]
movzx ecx, word [edx + 6]
inc ecx
mov dword [ebp - 0x130], ecx
jmp 0x4b8d08
cmp byte [esi + 1], 0xf2
jne 0x4b8d08
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x130], eax
push 1
mov edx, dword [ebp - 0x124]
push edx
mov ecx, dword [ebp - 0x130]
push ecx
mov eax, dword [esi + 4]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5914
add esp, 0x14
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x4bc279
mov ecx, dword [ebp - 0x118]
mov byte [ecx + 0x1c], 1
mov eax, dword [ebp - 0x118]
mov byte [eax + 0x20], 1
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x12c]
push eax
mov edx, dword [ebp - 0x120]
push edx
mov ecx, dword [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.004aa778
add esp, 0x14
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x12c]
mov dword [edx + 8], eax
xor edx, edx
mov dl, byte [esi + 3]
and edx, 1
push edx
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx]
push ecx
call fcn.004af818
add esp, 8
mov edx, dword [ebp - 0x118]
cmp byte [esi + 1], 0xfa
setne al
and eax, 1
mov byte [edx + 0x1e], al
xor eax, eax
mov ecx, dword [ebp - 0x118]
mov al, byte [ecx + 0x1e]
cmp eax, 1
mov eax, dword [ebp - 0x118]
sbb edx, edx
neg edx
mov byte [eax + 0x1f], dl
jmp case.0x4b5c88.0
push 1
push 0xffffffffffffffff
mov edx, dword [esi + 8]
push edx
mov ecx, dword [esi + 4]
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5914
add esp, 0x14
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x4bc279
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1c], 1
mov edx, dword [0x518c40]
push edx
xor ecx, ecx
mov cl, byte [esi + 3]
or ecx, 5
push ecx
mov eax, dword [ebp - 0x130]
add eax, 4
push eax
push ebx
push 0
mov edx, dword [ebx]
push edx
call fcn.004a8c50
add esp, 0x18
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4b8e58
push 1
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 4]
push eax
call fcn.004a99b8
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4b8f1c
cmp dword [esi + 0x10], 0
je 0x4b8eee
xor edx, edx
lea ecx, [ebp - 0x44]
mov dl, byte [esi + 3]
or edx, 2
push edx
push ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
push edx
call fcn.004ae2a8
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4b8ee2
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx]
push eax
mov edx, dword [esi + 0x10]
push edx
push 1
mov ecx, dword [ebp - 0x44]
push ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
push edx
call fcn.004aa778
mov dword [ebp - 0xc], eax
add esp, 0x14
mov ecx, dword [ebp - 0x130]
mov eax, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x130]
mov cl, byte [edx + 0x4d]
mov edx, dword [eax + 8]
mov byte [edx + 4], cl
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x1e], 0
jmp 0x4b8f1c
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
push edx
push 0
push 1
push 1
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 4]
push eax
call fcn.004aa778
add esp, 0x14
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x1e], 1
xor ecx, ecx
mov edx, dword [ebp - 0x130]
mov cl, byte [esi + 3]
cmp ecx, 8
setne al
and eax, 1
mov byte [edx + 0x20], al
xor eax, eax
mov ecx, dword [ebp - 0x130]
mov al, byte [ecx + 0x1e]
cmp eax, 1
mov eax, dword [ebp - 0x130]
sbb edx, edx
neg edx
mov byte [eax + 0x1f], dl
jmp case.0x4b5c88.0
push 1
push 0xffffffffffffffff
mov edx, dword [esi + 8]
push edx
mov ecx, dword [esi + 4]
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5914
add esp, 0x14
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x4bc279
mov eax, dword [ebp - 0x130]
mov edx, dword [esi + 0x10]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0x130]
mov edx, dword [edx + 8]
mov al, byte [ecx + 0x4d]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x21], 1
mov ecx, dword [ebp - 0x130]
push ecx
push ebx
call fcn.004bd094
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
push 0
push 0xffffffffffffffff
mov ecx, dword [esi + 0xc]
push ecx
mov eax, dword [esi + 4]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5914
add esp, 0x14
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x4bc279
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x1c], 1
mov eax, dword [ebp - 0x130]
mov edx, dword [esi + 8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x1e], 1
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1f], 0
mov edx, dword [ebp - 0x130]
mov al, byte [esi + 3]
mov byte [edx + 0x22], al
jmp case.0x4b5c88.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov edi, dword [esi + 4]
mov eax, dword [ecx + edi*4]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b2a34
add esp, 8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov eax, dword [esi + 4]
xor edx, edx
mov dword [ecx + eax*4], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x128]
cmp dword [eax], 0
je 0x4b9480
xor edx, edx
mov dl, byte [esi]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x128]
mov byte [ecx + 0x1c], 0
mov eax, dword [ebp - 0x128]
cmp byte [eax + 0x1e], 0
je 0x4b92f4
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b59f0
pop ecx
mov eax, dword [ebp - 0x24]
push eax
call fcn.004b07f0
pop ecx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0x128]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0x24]
test byte [ecx + 0x1c], 4
jne 0x4b928a
mov eax, dword [ebp - 0x24]
test byte [eax + 0x1c], 8
jne 0x4b90f8
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
cmp dword [ebp - 0xfc], 0x80000000
jne 0x4b91fc
cmp dword [ebp - 0x100], 0
jne 0x4b91fc
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edx
fild qword [ebp - 0x140]
mov ecx, dword [ebp - 0x24]
fld qword [ecx + 8]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x4b915f
mov edx, dword [ebp - 0x24]
fld qword [edx + 8]
fld dword [0x4bc31c]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x4b91fc
mov dword [ebp - 0x130], 1
mov edx, dword [ebp - 0x24]
fld qword [edx + 8]
fld dword [0x4bc31c]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jp 0x4b91b0
cmp dword [ebp - 0x12c], 0x30
jl 0x4b91de
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x128]
mov ecx, dword [ecx]
push ecx
call fcn.004ab138
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
jmp 0x4b91de
cmp dword [ebp - 0x12c], 0x2f
jg 0x4b91de
lea eax, [ebp - 0x130]
push eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx]
push ecx
call fcn.004ab16c
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
cmp dword [ebp - 0x12c], 0x2e
je 0x4b920e
cmp dword [ebp - 0x12c], 0x30
jne 0x4b924d
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
fild qword [ebp - 0x148]
mov ecx, dword [ebp - 0x24]
fld qword [ecx + 8]
fxch st(1)
fucompp
fnstsw ax
test ah, 5
jp 0x4b928a
add dword [ebp - 0x100], 1
adc dword [ebp - 0xfc], 0
jmp 0x4b928a
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
fild qword [ebp - 0x150]
mov ecx, dword [ebp - 0x24]
fld qword [ecx + 8]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
jne 0x4b928a
sub dword [ebp - 0x100], 1
sbb dword [ebp - 0xfc], 0
lea edx, [ebp - 0x130]
push edx
push 0
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push 0
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
push edx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b92c0
jmp 0x4bc29e
cmp dword [ebp - 0x130], 0
jne 0x4b9392
mov ecx, dword [ebp - 0x128]
mov byte [ecx + 0x19], 1
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x100]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0xfc]
mov dword [eax + 0x44], edx
jmp 0x4b9392
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 8]
mov dword [ebp - 0x120], edx
mov cx, word [ebp - 0x108]
mov word [ebp - 0x11c], cx
mov al, byte [ebp - 0x12c]
add al, 0xd2
and al, 1
mov byte [ebp - 0x11a], al
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x110]
test byte [ecx + 0x1d], 0x40
je 0x4b9355
mov eax, dword [ebp - 0x110]
push eax
call fcn.004b0528
pop ecx
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x120]
push edx
push 0
push 0
push 0
push ecx
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
push edx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b9388
jmp 0x4bc29e
mov ecx, dword [ebp - 0x128]
mov byte [ecx + 0x19], 0
mov eax, dword [ebp - 0x128]
mov byte [eax + 0x1d], 0
mov edx, dword [ebp - 0x128]
xor eax, eax
mov dword [edx + 0x50], eax
cmp dword [ebp - 0x12c], 0x30
jl 0x4b9406
cmp dword [ebp - 0x130], 0
jl 0x4b93cb
cmp dword [ebp - 0x130], 0
jne 0x4b93fc
cmp dword [ebp - 0x12c], 0x31
jne 0x4b93fc
lea edx, [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x128]
mov ecx, dword [ecx]
push ecx
call fcn.004ab55c
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov eax, dword [ebp - 0x128]
mov byte [eax + 0x19], 0
jmp 0x4b9467
xor edx, edx
mov dword [ebp - 0x130], edx
jmp 0x4b9467
cmp dword [ebp - 0x130], 0
jg 0x4b9421
cmp dword [ebp - 0x130], 0
jne 0x4b9452
cmp dword [ebp - 0x12c], 0x2e
jne 0x4b9452
lea ecx, [ebp - 0x130]
push ecx
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
push edx
call fcn.004ab67c
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov ecx, dword [ebp - 0x128]
mov byte [ecx + 0x19], 0
jmp 0x4b9467
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
push edx
call fcn.004ab548
pop ecx
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
cmp dword [ecx], 0
je case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1c], 0
mov edx, dword [esi + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004b07f0
pop ecx
mov ecx, dword [ebp - 0x130]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x19], 0
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x1d], 1
jmp case.0x4b5c88.0
xor ecx, ecx
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x12c], edx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x12c]
cmp dword [ecx], 0
je 0x4b9645
cmp dword [esi + 0x10], 0
jle 0x4b956b
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax + 8]
mov dword [ebp - 0x118], edx
lea edx, [ebp - 0x118]
mov cx, word [esi + 0x10]
mov word [ebp - 0x114], cx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x112], 2
mov dword [ebp - 0x120], edx
jmp 0x4b95d4
lea ecx, [ebp - 0x124]
lea eax, [ebp - 0x100]
push ecx
push 0x97
push eax
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx + 8]
push ecx
call fcn.004b3cd8
add esp, 0x10
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4bc279
mov eax, dword [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
push ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 8]
push eax
call fcn.004b3d48
add esp, 0x10
mov edx, dword [ebp - 0x120]
or byte [edx + 6], 2
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0
push 0
mov eax, dword [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx]
push ecx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
cmp dword [esi + 0x10], 0
jne 0x4b9612
mov eax, dword [ebp - 0x124]
push eax
push ebx
call fcn.00499448
add esp, 8
cmp dword [ebp - 0xc], 0
je 0x4b961d
jmp case.0x4b5c88.0
cmp dword [ebp - 0x128], 0
sete dl
and edx, 1
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x12c]
mov byte [ecx + 0x1d], 0
mov eax, dword [ebp - 0x12c]
xor edx, edx
mov dword [eax + 0x50], edx
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x34
jne 0x4b9667
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
cmp dword [ebp - 0x130], 0
jne case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov eax, dword [esi + 0x10]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x120], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x12c]
xor eax, eax
mov dword [ecx + 0x4c], eax
mov edx, dword [ebp - 0x12c]
xor eax, eax
mov dword [edx + 0x50], eax
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx]
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 8]
mov dx, word [eax + 6]
mov word [ebp - 0x124], dx
mov word [ebp - 0x130], 0
jmp 0x4b9725
movzx ecx, word [ebp - 0x130]
lea eax, [ecx + ecx*4]
mov edx, dword [ebp - 0x120]
test byte [edx + eax*8 + 0x1c], 1
je 0x4b971e
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 0x128], eax
jmp 0x4b9735
inc word [ebp - 0x130]
mov dx, word [ebp - 0x130]
cmp dx, word [ebp - 0x124]
jb 0x4b96f6
cmp dword [ebp - 0x128], 0
je case.0x4b5c88.0
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x118], eax
mov dx, word [ebp - 0x124]
inc edx
mov word [ebp - 0x114], dx
mov byte [ebp - 0x112], 4
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x24]
push eax
call fcn.004b093c
mov edx, dword [ebp - 0x24]
pop ecx
lea ecx, [ebp - 0x118]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x100], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x12c]
add edx, 0x4c
push edx
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
test byte [ebp - 0x112], 4
jne 0x4b97e0
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0xfc]
jne 0x4b97ec
cmp eax, dword [ebp - 0x100]
jne 0x4b97ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x110]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 0x14], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ecx]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
je 0x4b98f8
xor eax, eax
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x120], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x11c], eax
lea edx, [ebp - 0x128]
push edx
push 0
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push 0
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x40], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0x128], 0
jne 0x4b98aa
mov al, 1
jmp 0x4b98ac
xor eax, eax
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x19], al
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0x130]
xor eax, eax
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x1d], 0
cmp dword [ebp - 0x128], 0
je 0x4b98e4
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x128]
mov dword [eax + 0x4c], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x130]
xor edx, edx
mov dword [eax + 0x4c], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x44]
mov esi, dword [esi + 4]
mov ecx, dword [ecx + esi*4]
mov eax, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
add dword [ecx + 0x30], 1
adc dword [ecx + 0x34], 0
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4b5c88.0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
xor eax, eax
mov dword [ebp - 0x124], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp - 0x128]
cmp dword [ecx], 0
jne 0x4b9975
jmp 0x4b9cb4
mov eax, dword [ebp - 0x128]
cmp byte [eax + 0x1b], 0
jne 0x4b9b93
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx]
push ecx
call fcn.004aa800
pop ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0
jne 0x4b99b0
cmp dword [ebp - 0x130], 0
jne 0x4b9a49
lea eax, [ebp - 0x124]
push eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx]
push ecx
call fcn.004ab16c
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b99dc
jmp 0x4bc29e
cmp dword [ebp - 0x124], 0
je 0x4b99fb
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x12c], 0
jmp 0x4b9a49
lea eax, [ebp - 0x130]
push eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx]
push ecx
call fcn.004aa8a8
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x12c], 0x7fffffff
jne 0x4b9a2d
cmp dword [ebp - 0x130], 0xffffffff
jb 0x4b9a3b
jmp 0x4b9a2f
jl 0x4b9a3b
mov eax, dword [ebp - 0x128]
mov byte [eax + 0x1b], 1
jmp 0x4b9a49
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
cmp dword [esi + 0xc], 0
je 0x4b9b4f
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa0], 0
je 0x4b9aa7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
mov dword [ebp - 0x118], eax
jmp 0x4b9a7f
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
cmp dword [eax + 4], 0
jne 0x4b9a70
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x118]
shl eax, 3
mov ecx, dword [edx + 0xc]
lea eax, [eax + eax*4]
add ecx, eax
mov dword [ebp - 0x11c], ecx
jmp 0x4b9ab9
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x11c], edx
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.004b093c
pop ecx
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x14], 0x7fffffff
jne 0x4b9ad9
cmp dword [eax + 0x10], 0xffffffff
je 0x4b9ae7
mov edx, dword [ebp - 0x128]
cmp byte [edx + 0x1b], 0
je 0x4b9af3
mov dword [ebp - 0xc], 0xd
jmp 0x4bc29e
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
add eax, 1
adc edx, 0
cmp edx, dword [ebp - 0x12c]
jne 0x4b9b17
cmp eax, dword [ebp - 0x130]
jbe 0x4b9b37
jmp 0x4b9b19
jle 0x4b9b37
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
add eax, 1
adc edx, 0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x130]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x12c]
mov dword [ecx + 0x14], eax
cmp dword [ebp - 0x12c], 0x7fffffff
jne 0x4b9b66
cmp dword [ebp - 0x130], 0xffffffff
jae 0x4b9b7c
jmp 0x4b9b68
jge 0x4b9b7c
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
add eax, 1
adc edx, 0
jmp 0x4b9b80
xor eax, eax
xor edx, edx
push edx
push eax
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
push eax
call fcn.004aa7d0
add esp, 0xc
mov edx, dword [ebp - 0x128]
cmp byte [edx + 0x1b], 0
je 0x4b9c95
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x12c], ecx
and dword [ebp - 0x130], 0xffffffff
and dword [ebp - 0x12c], 0x3fffffff
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
xor eax, eax
mov dword [ebp - 0x120], eax
jmp 0x4b9c2d
lea edx, [ebp - 0x130]
push edx
push 8
call fcn.0049acb8
add esp, 8
cmp dword [ebp - 0x120], 5
jge 0x4b9c0e
and dword [ebp - 0x130], 0xffffff
mov dword [ebp - 0x12c], 0
jmp 0x4b9c1f
and dword [ebp - 0x130], 0xffffffff
and dword [ebp - 0x12c], 0x3fffffff
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x124]
push ecx
push 0
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push 0
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx]
push ecx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4b9c7a
cmp dword [ebp - 0x124], 0
jne 0x4b9c7a
inc dword [ebp - 0x120]
mov edx, dword [ebp - 0x120]
cmp edx, 0x64
jl 0x4b9bde
cmp dword [ebp - 0xc], 0
jne 0x4b9c95
cmp dword [ebp - 0x124], 0
jne 0x4b9c95
mov dword [ebp - 0xc], 0xd
jmp 0x4bc29e
mov ecx, dword [ebp - 0x128]
mov byte [ecx + 0x19], 0
mov eax, dword [ebp - 0x128]
mov byte [eax + 0x1d], 0
mov edx, dword [ebp - 0x128]
xor eax, eax
mov dword [edx + 0x50], eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x130]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x12c]
mov dword [edx + 0x14], ecx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x120], edx
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x39
jne 0x4b9d27
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x128], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x124], edx
jmp 0x4b9d37
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
test byte [esi + 3], 1
je 0x4b9d43
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x64]
test byte [esi + 3], 2
je 0x4b9d61
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov ecx, dword [ebp - 0x130]
test byte [ecx + 0x1c], 1
je 0x4b9d83
mov eax, dword [ebp - 0x130]
xor edx, edx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x130]
xor eax, eax
mov dword [ecx + 0x18], eax
test byte [esi + 3], 0x10
je 0x4b9d94
mov edx, dword [ebp - 0x120]
mov ecx, dword [edx + 0x4c]
jmp 0x4b9d96
xor ecx, ecx
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x130]
test byte [eax + 0x1d], 0x40
je 0x4b9db9
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x11c], ecx
jmp 0x4b9dc1
xor eax, eax
mov dword [ebp - 0x11c], eax
push 0
push 0
mov edx, dword [ebp - 0x120]
mov ecx, dword [edx]
push ecx
call fcn.004aa7d0
add esp, 0xc
mov eax, dword [ebp - 0x118]
push eax
xor edx, edx
mov dl, byte [esi + 3]
and edx, 8
push edx
mov ecx, dword [ebp - 0x11c]
push ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 4]
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push 0
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx]
push eax
call fcn.004adbc0
add esp, 0x24
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x120]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0x120]
mov byte [ecx + 0x1d], 0
mov eax, dword [ebp - 0x120]
xor edx, edx
mov dword [eax + 0x50], edx
cmp dword [ebp - 0xc], 0
jne case.0x4b5c88.0
cmp dword [ebx + 0xc4], 0
je case.0x4b5c88.0
cmp dword [esi + 0x10], 0
je case.0x4b5c88.0
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 0xc]
shl eax, 4
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + eax]
mov dword [ebp - 0x114], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x110], eax
test byte [esi + 3], 4
je 0x4b9e91
mov edx, 0x17
jmp 0x4b9e96
mov edx, 0x12
mov dword [ebp - 0x10c], edx
push dword [ebp - 0x124]
push dword [ebp - 0x128]
mov ecx, dword [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0x114]
push ecx
mov eax, dword [ebp - 0x10c]
push eax
mov edx, dword [ebx + 0xc0]
push edx
call dword [ebx + 0xc4]
add esp, 0x18
jmp case.0x4b5c88.0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x128], ecx
cmp dword [ebx + 0xc4], 0
je 0x4b9f1f
cmp dword [esi + 0x10], 0
je 0x4b9f1f
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 0x40]
mov dword [ebp - 0x130], edx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004b37a8
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
push 0
push 0
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
push edx
call fcn.004aa7d0
add esp, 0xc
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
push eax
call fcn.004addcc
pop ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x128]
xor eax, eax
mov dword [edx + 0x50], eax
cmp dword [ebp - 0xc], 0
jne 0x4b9fc1
cmp dword [ebx + 0xc4], 0
je 0x4b9fc1
cmp dword [esi + 0x10], 0
je 0x4b9fc1
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx + 0xc]
shl ecx, 4
mov edi, dword [ebx + 0x10]
mov eax, dword [edi + ecx]
mov dword [ebp - 0x48], eax
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x4c], edx
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp - 0x48]
push eax
push 9
mov edx, dword [ebx + 0xc0]
push edx
call dword [ebx + 0xc4]
add esp, 0x18
test byte [esi + 8], 1
je case.0x4b5c88.0
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x64]
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x64]
push edx
push ebx
call fcn.004b4198
add esp, 8
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x64], eax
jmp case.0x4b5c88.0
mov edx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov ecx, dword [edx + 0x44]
mov edx, dword [ecx + eax*4]
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x130], edx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
push eax
mov edx, dword [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.004bdaec
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x12c], 0
je case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edx, dword [esi + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x28]
push eax
mov edx, dword [ebp - 0x130]
push edx
call fcn.004bda84
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov ecx, dword [esi + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ecx]
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004b37a8
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov edx, dword [ebp - 0x130]
cmp byte [edx + 0x1f], 0
je 0x4ba11f
lea ecx, [ebp - 0x120]
push ecx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004aa8a8
add esp, 8
mov eax, dword [ebx + 0x58]
cdq
cmp edx, dword [ebp - 0x11c]
jne 0x4ba10a
cmp eax, dword [ebp - 0x120]
jae 0x4ba111
jmp 0x4bc258
jge 0x4ba111
jmp 0x4bc258
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x128], eax
jmp 0x4ba145
lea edx, [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004aa904
add esp, 8
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebx + 0x58]
jbe 0x4ba145
jmp 0x4bc258
push 0
mov eax, dword [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b03e8
add esp, 0xc
test eax, eax
je 0x4ba163
jmp 0x4bc279
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x128]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov cx, word [edx + 0x1c]
and cx, 0xbe00
or cx, 0x10
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0x130]
cmp byte [edx + 0x1f], 0
je 0x4ba1b6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
push eax
mov edx, dword [ebp - 0x128]
push edx
push 0
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004aad34
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp 0x4ba1d8
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 4]
push edx
mov ecx, dword [ebp - 0x128]
push ecx
push 0
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004aad54
add esp, 0x10
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x28]
mov byte [edx + 0x1f], 1
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
cmp byte [eax + 0x1c], 0
je 0x4ba215
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], 1
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x130]
cmp byte [ecx + 0x1d], 0
je 0x4ba23e
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x128], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x124], edx
jmp 0x4ba2f9
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x24], 0
je 0x4ba29e
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x128]
mov eax, dword [ebp - 0x120]
mov edx, dword [eax]
mov dword [ebp - 0x11c], edx
push ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x24]
push edx
mov ecx, dword [ebp - 0x11c]
call dword [ecx + 0x30]
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x120]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5afc
add esp, 8
jmp 0x4ba2f9
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.004b37a8
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov eax, dword [ebp - 0x130]
cmp byte [eax + 0x19], 0
je 0x4ba2de
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x128], eax
mov eax, dword [edx + 0x44]
mov dword [ebp - 0x124], eax
jmp 0x4ba2f9
lea edx, [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ecx]
push ecx
call fcn.004aa8a8
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x128]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x124]
mov dword [eax + 0x14], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1c], 1
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0x130]
cmp dword [ecx], 0
je case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
push edx
call fcn.004a7b3c
pop ecx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 0x44]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x12c], 0
je 0x4ba3a6
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004ab16c
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x130]
mov al, byte [ebp - 0x128]
mov byte [ecx + 0x1c], al
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x1d], 0
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x19], 0
mov eax, dword [ebp - 0x130]
xor edx, edx
mov dword [eax + 0x50], edx
cmp dword [esi + 8], 0
jle case.0x4b5c88.0
cmp dword [ebp - 0x128], 0
je case.0x4b5c88.0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
inc dword [eax + 0x78]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x128], 1
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x48], 0
je 0x4ba441
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x130]
push edx
push ebx
call fcn.004bd74c
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp 0x4ba49f
mov ecx, dword [ebp - 0x130]
lea edx, [ebp - 0x128]
mov eax, dword [ecx]
mov dword [ebp - 0x12c], eax
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004ab138
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x128], 0
jne 0x4ba475
mov al, 1
jmp 0x4ba477
xor eax, eax
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x1a], al
mov ecx, dword [ebp - 0x130]
mov byte [ecx + 0x1d], 0
mov ecx, dword [ebp - 0x130]
xor eax, eax
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp - 0x130]
mov al, byte [ebp - 0x128]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0x128], 0
je case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
cmp dword [ebx + 0xe8], 0
jne 0x4bc2dd
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0
jne 0x4ba4f4
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
cmp dword [eax + 0x48], 0
je 0x4ba51c
lea edx, [ebp - 0x12c]
push edx
mov ecx, dword [ebp - 0x130]
push ecx
push ebx
call fcn.004bd9a8
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp 0x4ba53f
mov dword [ebp - 0x12c], 1
lea eax, [ebp - 0x12c]
push eax
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx]
push ecx
call dword [esi + 0x10]
add esp, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x130]
mov dl, byte [ebp - 0x12c]
mov byte [eax + 0x1c], dl
mov ecx, dword [ebp - 0x130]
xor eax, eax
mov dword [ecx + 0x50], eax
cmp dword [ebp - 0x12c], 0
jne 0x4ba57b
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
cmp byte [esi + 3], 0
je 0x4ba57b
xor ecx, ecx
mov cl, byte [esi + 3]
mov eax, dword [ebp + 8]
inc dword [eax + ecx*4 + 0x70]
mov edx, dword [ebp - 0x130]
mov byte [edx + 0x19], 0
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
je case.0x4b5c88.0
mov eax, dword [ebp - 0x20]
test byte [eax + 0x1d], 0x40
je 0x4ba5db
mov edx, dword [ebp - 0x20]
push edx
call fcn.004b0528
pop ecx
jmp 0x4ba5dd
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne case.0x4b5c88.0
mov edx, dword [ebp - 0x130]
cmp dword [edx + 0x48], 0
je 0x4ba612
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x130]
push ecx
push ebx
call fcn.004bd5f0
add esp, 0xc
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x124], eax
test byte [esi + 3], 0x10
je 0x4ba63b
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx + 0x4c]
jmp 0x4ba63d
xor ecx, ecx
push ecx
mov eax, dword [esi + 0xc]
push eax
push 0
push 0
push 0x51dce5
mov eax, dword [ebp - 0x128]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x124]
push ecx
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004adbc0
add esp, 0x24
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x130]
xor edx, edx
mov dword [eax + 0x50], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0
je case.0x4b5c88.0
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x128]
mov dx, word [esi + 0xc]
mov word [ebp - 0x11c], dx
lea edx, [ebp - 0x120]
mov byte [ebp - 0x11a], 0
mov ecx, dword [esi + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x110], ecx
push eax
push 0
push 0
push 0
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004ab1c0
add esp, 0x18
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4ba722
cmp dword [ebp - 0x128], 0
jne 0x4ba722
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004addcc
pop ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x130]
xor eax, eax
mov dword [edx + 0x50], eax
jmp case.0x4b5c88.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebp - 0x12c]
mov ecx, dword [ecx]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], 1
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004b37a8
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bc29e
mov ecx, dword [ebp - 0x12c]
cmp byte [ecx + 0x1c], 0
jne case.0x4b5c88.0
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x130]
push edx
push ebx
call fcn.004b3fb4
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4ba7b7
jmp 0x4bc29e
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x128]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x124]
mov dword [ecx + 0x14], eax
mov edx, dword [ebp - 0x28]
mov word [edx + 0x1c], 4
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x44]
mov edx, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
cmp dword [eax], 0
je case.0x4b5c88.0
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x128], ecx
mov ax, word [esi + 0x10]
mov word [ebp - 0x124], ax
cmp byte [esi + 3], 0
je 0x4ba824
mov byte [ebp - 0x122], 3
jmp 0x4ba82b
mov byte [ebp - 0x122], 2
mov edx, dword [esi + 0xc]
lea ecx, [ebp - 0x12c]
shl edx, 3
lea eax, [ebp - 0x128]
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x118], edx
push ecx
push eax
mov edx, dword [ebp - 0x130]
push edx
call fcn.004b40e4
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov cl, byte [esi]
add esp, 0xc
cmp ecx, 0x64
jne 0x4ba86e
neg dword [ebp - 0x12c]
jmp 0x4ba874
inc dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 0
jle case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
xor edx, edx
mov dword [ebp - 0x12c], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x128], ecx
jmp 0x4ba8e4
mov eax, dword [ebp - 0x128]
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x4ba8d5
mov edx, dword [ebp - 0x128]
mov cl, byte [edx + 0x62]
shr ecx, 2
and ecx, 3
cmp ecx, 2
jae 0x4ba8d5
mov eax, dword [ebp - 0x128]
cmp dword [eax + 0x58], 0
jl 0x4ba8d5
inc dword [ebp - 0x12c]
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx + 0x40]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x128], 0
jne 0x4ba8a0
mov eax, dword [ebp - 0x28]
mov word [eax + 0x1c], 1
cmp dword [ebp - 0x12c], 1
jle 0x4ba912
mov dword [ebp - 0xc], 6
mov edx, dword [ebp + 8]
mov byte [edx + 0x60], 2
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x124], ecx
push eax
mov edx, dword [esi + 4]
push edx
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebx + 0x10]
shl ecx, 4
mov edx, dword [eax + ecx + 4]
push edx
call fcn.004ae6a4
mov dword [ebp - 0xc], eax
add esp, 0xc
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], 4
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
cmp dword [ebp - 0xc], 0
jne case.0x4b5c88.0
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov eax, dword [esi + 4]
push eax
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x124]
push ecx
push ebx
call fcn.004c7f28
add esp, 0x10
mov al, byte [ebp - 0x124]
inc eax
mov byte [ebp - 0xd], al
jmp case.0x4b5c88.0
xor edx, edx
mov dword [ebp - 0x130], edx
cmp dword [esi + 0xc], 0
je 0x4ba9b2
lea ecx, [ebp - 0x130]
jmp 0x4ba9b4
xor ecx, ecx
push ecx
mov eax, dword [esi + 4]
push eax
mov edx, dword [esi + 8]
shl edx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edx + 4]
push edx
call fcn.004ae440
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [esi + 0xc], 0
je case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov edi, dword [ebp - 0x130]
add dword [ecx + 0x64], edi
cmp dword [esi + 0xc], 0
jle case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x130]
cdq
lea ecx, [ecx + ecx*4]
add dword [esi + ecx*8 + 0x10], eax
adc dword [esi + ecx*8 + 0x14], edx
jmp case.0x4b5c88.0
xor eax, eax
mov dword [ebp - 0x130], eax
mov edx, dword [esi + 4]
shl edx, 4
add edx, dword [ebx + 0x10]
mov dword [ebp - 0x128], edx
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x69
jne 0x4baa3b
mov dword [ebp - 0x12c], 1
jmp 0x4baa45
mov dword [ebp - 0x12c], 2
mov ecx, dword [ebp - 0x12c]
lea eax, [ebp - 0x130]
push ecx
push eax
mov edx, dword [ebp - 0x128]
mov ecx, dword [edx + 4]
push ecx
call fcn.004ae2a8
mov dword [ebp - 0xc], eax
add esp, 0xc
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x28]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4b5c88.0
mov eax, dword [esi + 4]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 1
jne 0x4baa96
mov edx, 0x51dce6
jmp 0x4baa9b
mov edx, 0x51dcf9
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x124], ebx
mov eax, dword [esi + 4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 8]
add ecx, 0x38
mov dword [ebp - 0x120], ecx
mov ecx, dword [esi + 0x10]
push ecx
mov eax, dword [ebp - 0x12c]
push eax
mov edx, dword [ebp - 0x130]
shl edx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0049aa28
add esp, 0x14
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jne 0x4baafd
mov dword [ebp - 0xc], 7
jmp 0x4bab53
mov byte [ebx + 0x89], 1
xor ecx, ecx
mov dword [ebp - 0x118], ecx
push 0
lea ecx, [ebp - 0x124]
push ecx
push fcn.004d4710
mov eax, dword [ebp - 0x128]
push eax
push ebx
call fcn.004d0bb4
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bab3c
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0x128]
push ecx
push ebx
call fcn.00499448
add esp, 8
mov byte [ebx + 0x89], 0
cmp dword [ebp - 0xc], 0
je 0x4bab60
push ebx
call fcn.004c67b4
pop ecx
cmp dword [ebp - 0xc], 7
jne case.0x4b5c88.0
jmp 0x4bc279
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004c52b4
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov edx, dword [esi + 0x10]
push edx
mov ecx, dword [esi + 4]
push ecx
push ebx
call fcn.004c6974
add esp, 0xc
jmp case.0x4b5c88.0
mov eax, dword [esi + 0x10]
push eax
mov edx, dword [esi + 4]
push edx
push ebx
call fcn.004c6634
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0x10]
push ecx
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004dbcc8
add esp, 0xc
jmp case.0x4b5c88.0
mov edx, dword [esi + 8]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
inc ecx
shl ecx, 2
push ecx
push ebx
call fcn.00499664
add esp, 8
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x4bc279
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x11c], eax
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x128], eax
jmp 0x4bac4d
mov edx, dword [ebp - 0x128]
shl edx, 3
lea edx, [edx + edx*4]
add edx, edi
push edx
call fcn.004b07f0
pop ecx
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0x128]
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x130]
jl 0x4bac23
mov eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x128]
xor ecx, ecx
mov dword [eax + edx*4], ecx
lea eax, [ebp - 0x124]
push eax
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x10]
push eax
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
xor ecx, ecx
mov cl, byte [esi + 3]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 4]
push edx
call fcn.004af318
add esp, 0x14
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x12c]
push ecx
push ebx
call fcn.00499448
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x124]
cdq
add esp, 8
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
push edi
call fcn.004b09fc
cmp dword [ebp - 0x124], 0
pop ecx
jne 0x4bacde
jmp 0x4bad07
cmp dword [ebp - 0x120], 0
jne 0x4bacee
jmp 0x4bc279
push fcn.004993e4
push 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x120]
push eax
push edi
call fcn.004b0c34
add esp, 0x14
xor edx, edx
mov dl, byte [ebp - 0xe]
push edx
push edi
call fcn.004b03c0
add esp, 8
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
shl edi, 3
shl eax, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
test byte [edi + 0x1c], 0x20
jne 0x4bad4d
push edi
call fcn.004b0ae8
test byte [edi + 0x1c], 0x20
pop ecx
je 0x4bc279
mov edx, dword [ebp - 0x20]
push dword [edx + 0x14]
push dword [edx + 0x10]
mov ecx, dword [edi + 0x10]
push ecx
call fcn.004a08cc
add esp, 0xc
jmp case.0x4b5c88.0
cmp dword [ebx + 0xe8], 0
jne 0x4bc2dd
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
test byte [edi + 0x1c], 0x20
je 0x4bad9d
lea eax, [ebp - 0x130]
push eax
mov edx, dword [edi + 0x10]
push edx
call fcn.004a0b3c
add esp, 8
test eax, eax
jne 0x4badb0
push edi
call fcn.004b09fc
pop ecx
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.004b0a7c
add esp, 0xc
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
mov eax, dword [esi + 0xc]
shl eax, 3
shl edi, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x130], edx
test byte [edi + 0x1c], 0x20
jne 0x4bae11
push edi
call fcn.004b0ae8
test byte [edi + 0x1c], 0x20
pop ecx
je 0x4bc279
cmp dword [ebp - 0x130], 0
je 0x4bae61
mov ecx, dword [ebp - 0x24]
push dword [ecx + 0x14]
push dword [ecx + 0x10]
cmp dword [ebp - 0x130], 0
jl 0x4bae37
mov dl, byte [ebp - 0x130]
and dl, 0xf
jmp 0x4bae39
mov dl, 0xff
push edx
mov eax, dword [edi + 0x10]
push eax
call fcn.004a0b88
add esp, 0x10
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x4bae61
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
cmp dword [ebp - 0x130], 0
jl case.0x4b5c88.0
mov ecx, dword [ebp - 0x24]
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov edx, dword [edi + 0x10]
push edx
call fcn.004a08cc
add esp, 0xc
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x118], ecx
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x128], eax
cmp byte [esi + 3], 0
je 0x4baeff
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa0]
mov dword [ebp - 0x11c], edx
jmp 0x4baed8
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x4baef2
mov edx, dword [ebp - 0x11c]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [ebp - 0x114]
jne 0x4baec9
cmp dword [ebp - 0x11c], 0
jne case.0x4b5c88.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
cmp edx, dword [ebx + 0x80]
jl 0x4baf31
mov dword [ebp - 0xc], 1
push str.too_many_levels_of_trigger_recursion
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
add esp, 0xc
jmp case.0x4b5c88.0
mov eax, dword [ebp - 0x128]
test byte [eax + 0x1c], 0x40
jne 0x4bb0f3
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x118]
mov ecx, dword [edx + 8]
add ecx, dword [eax + 0xc]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x118]
shl edx, 3
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x118]
shl ecx, 2
lea edx, [edx + edx*4]
add edx, ecx
add edx, dword [eax + 0x10]
add edx, 0x48
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0x12c]
push edx
push ebx
call fcn.00499634
add esp, 8
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
jne 0x4bafa9
jmp 0x4bc279
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.004b0740
pop ecx
mov ecx, dword [ebp - 0x128]
mov word [ecx + 0x1c], 0x40
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x11c]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x130]
mov dword [edx + 0x3c], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 4]
mov dword [edx + 0x2c], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 8]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x18]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 4]
mov dword [edx + 8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x1c]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0xb8]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0xb4]
mov dword [edx + 0x38], eax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x3c]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x11c]
add eax, 0x48
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x11c]
add edx, 0x48
mov dword [ebp - 0x124], edx
jmp 0x4bb0e3
mov ecx, dword [ebp - 0x124]
mov word [ecx + 0x1c], 0x80
mov eax, dword [ebp - 0x124]
mov dword [eax], ebx
add dword [ebp - 0x124], 0x28
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x120]
jne 0x4bb0c8
jmp 0x4bb102
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp + 8]
inc dword [edx + 0xa8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0xa0]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [edx + 0x64]
mov dword [eax + 0x44], ecx
xor eax, eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x64], eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0xa0], ecx
mov ecx, dword [ebp - 0x11c]
add ecx, 0x20
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x3c]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp + 8]
movzx ecx, word [edx + 0x40]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x18]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
add ecx, 0x28
mov dword [eax + 0x44], ecx
mov edx, dword [ebp - 0x118]
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 4]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x44]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp + 8]
shl edx, 2
add ecx, edx
mov dword [eax + 0xb8], ecx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0xb4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb4]
push ecx
push 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb8]
push eax
call fcn.00500058
add esp, 0xc
jmp case.0x4b5c88.0
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xa0]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 8]
lea edx, [edx + edx*4]
mov eax, dword [ebp - 0x130]
mov edx, dword [ecx + edx*4 + 4]
add edx, dword [esi + 4]
mov ecx, edx
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [eax + 0xc]
mov dword [ebp - 0x12c], ecx
push 0x1000
mov edx, dword [ebp - 0x12c]
push edx
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.004b0b68
add esp, 0xc
jmp case.0x4b5c88.0
cmp dword [esi + 4], 0
je 0x4bb28e
mov eax, dword [esi + 8]
cdq
add dword [ebx + 0x1f0], eax
adc dword [ebx + 0x1f4], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
cdq
add dword [ecx + 0x88], eax
adc dword [ecx + 0x8c], edx
jmp case.0x4b5c88.0
cmp dword [esi + 4], 0
je 0x4bb2d2
cmp dword [ebx + 0x1f4], 0
jne case.0x4b5c88.0
cmp dword [ebx + 0x1f0], 0
jne case.0x4b5c88.0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x8c], 0
jne case.0x4b5c88.0
cmp dword [eax + 0x88], 0
jne case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa0], 0
je 0x4bb34f
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa0]
mov dword [ebp - 0x12c], edx
jmp 0x4bb327
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x12c]
cmp dword [edx + 4], 0
jne 0x4bb318
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0x12c]
shl edx, 3
mov eax, dword [ecx + 0xc]
lea edx, [edx + edx*4]
add eax, edx
mov dword [ebp - 0x130], eax
jmp 0x4bb361
mov ecx, dword [esi + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004b093c
pop ecx
mov edx, dword [esi + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004b093c
pop ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x20]
cmp edx, dword [ecx + 0x14]
jne 0x4bb3a6
cmp eax, dword [ecx + 0x10]
jae case.0x4b5c88.0
jmp 0x4bb3ac
jge case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
cmp dword [edi + 0x14], 0
jne 0x4bb3e4
cmp dword [edi + 0x10], 0
jbe case.0x4b5c88.0
jmp 0x4bb3ea
jle case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
cmp dword [edi + 0x14], 0
jne 0x4bb414
cmp dword [edi + 0x10], 0
jae case.0x4b5c88.0
jmp 0x4bb41a
jge case.0x4b5c88.0
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 4], eax
jmp case.0x4b5c88.0
mov edi, dword [esi + 4]
shl edi, 3
lea edi, [edi + edi*4]
add edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0xc]
cdq
add dword [edi + 0x10], eax
adc dword [edi + 0x14], edx
cmp dword [edi + 0x14], 0
jne case.0x4b5c88.0
cmp dword [edi + 0x10], 0
jne case.0x4b5c88.0
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 4], ecx
jmp case.0x4b5c88.0
xor ecx, ecx
mov cl, byte [esi + 3]
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xe0], ecx
xor eax, eax
mov dword [ebp - 0x12c], eax
jmp 0x4bb4be
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x124]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0x124]
push edx
call fcn.004b58dc
pop ecx
inc dword [ebp - 0x12c]
add dword [ebp - 0x124], 0x28
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x130]
jl 0x4bb48f
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov dword [ebp - 0x120], eax
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x128]
xor edx, edx
inc dword [eax + 0x18]
xor eax, eax
mov word [ebp - 0xfc], 1
mov dword [ebp - 0x114], ecx
xor ecx, ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0xe8], edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0x120]
test byte [edx + 3], 8
je 0x4bb54a
mov ecx, dword [esi - 4]
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x120]
push eax
mov edx, dword [ebp - 0x130]
push edx
push ecx
mov eax, dword [ebp - 0x120]
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0xe8], 0
je 0x4bb5a0
lea edx, [ebp - 0x118]
push edx
call fcn.004b4488
pop ecx
push eax
push 0x51dd6c
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
add esp, 0x10
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xe4], 0
je 0x4bb5d7
mov edx, dword [esi - 0x10]
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0
je 0x4bb5d7
push 0
push 1
mov ecx, dword [ebp - 0x12c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
push ecx
call fcn.004b0a7c
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
call fcn.004b0740
pop ecx
jmp case.0x4b5c88.0
mov edx, dword [esi + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x130], edx
mov ecx, dword [esi + 0x10]
push ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004b0670
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4bb63a
mov edx, dword [ebp - 0x130]
push edx
call fcn.004b4488
pop ecx
push eax
push 0x51dd6f
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
add esp, 0x10
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
mov edx, dword [ebp - 0x130]
push edx
call fcn.004b03c0
add esp, 8
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.004b0b3c
pop ecx
test eax, eax
je case.0x4b5c88.0
jmp 0x4bc258
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], edx
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x128]
push ecx
mov ecx, dword [esi + 8]
push ecx
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004e959c
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 5
jne 0x4bb6bc
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x12c], 1
xor ecx, ecx
mov dword [ebp - 0x130], ecx
mov eax, dword [esi + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x120], eax
jmp 0x4bb704
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp + edx*4 - 0x12c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.004b0a7c
add esp, 0xc
inc dword [ebp - 0x130]
add dword [ebp - 0x120], 0x28
cmp dword [ebp - 0x130], 3
jl 0x4bb6d8
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x128], ecx
mov eax, dword [esi + 4]
shl eax, 4
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004ae894
pop ecx
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004a5070
pop ecx
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x128], 0xffffffff
jne 0x4bb769
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004a507c
pop ecx
test eax, eax
jne 0x4bb786
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x128], edx
push 1
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004a4d34
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x128], 5
jne 0x4bb7d4
mov eax, dword [ebp - 0x120]
push eax
call fcn.0049b450
pop ecx
test eax, eax
je 0x4bb7c8
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004a5194
pop ecx
test eax, eax
jne 0x4bb7d4
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x124]
je 0x4bb8c3
cmp dword [ebp - 0x124], 5
je 0x4bb7fc
cmp dword [ebp - 0x128], 5
jne 0x4bb8c3
cmp byte [ebx + 0x3e], 0
je 0x4bb80b
cmp dword [ebx + 0x8c], 1
jle 0x4bb844
mov dword [ebp - 0xc], 1
cmp dword [ebp - 0x128], 5
jne 0x4bb822
mov edx, str.into
jmp 0x4bb827
mov edx, str.out_of
push edx
push str.cannot_change__s_wal_mode_from_within_a_transaction
push ebx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00499834
add esp, 0x10
jmp case.0x4b5c88.0
cmp dword [ebp - 0x124], 5
jne 0x4bb87b
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004a52a0
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4bb895
mov ecx, dword [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004a4f84
add esp, 8
jmp 0x4bb895
cmp dword [ebp - 0x124], 4
jne 0x4bb895
push 2
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004a4f84
add esp, 8
cmp dword [ebp - 0xc], 0
jne 0x4bb8c3
cmp dword [ebp - 0x128], 5
jne 0x4bb8ab
mov ecx, 2
jmp 0x4bb8b0
mov ecx, 1
push ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004af790
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4bb8d5
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x128], edx
mov ecx, dword [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004a4f84
add esp, 8
mov dword [ebp - 0x128], eax
mov edx, dword [esi + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x1c], 0xa02
mov eax, dword [ebp - 0x128]
push eax
call fcn.004d1864
pop ecx
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
push eax
call fcn.0049b450
mov edx, dword [ebp - 0x28]
pop ecx
mov dword [edx + 0x18], eax
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov byte [ecx + 0x1f], 1
mov al, byte [ebp - 0xe]
push eax
mov edx, dword [ebp - 0x28]
push edx
call fcn.004b03c0
add esp, 8
jmp case.0x4b5c88.0
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.004dd494
add esp, 8
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov eax, dword [esi + 4]
shl eax, 4
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
push eax
call fcn.004aa180
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x65
jne case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
xor ecx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ecx
jmp case.0x4b5c88.0
cmp dword [esi + 4], 0
jne 0x4bb9b5
push ebx
call fcn.004b41b8
pop ecx
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
or byte [eax + 0x62], 0x20
jmp case.0x4b5c88.0
mov dl, byte [esi + 0xc]
mov byte [ebp - 0x4d], dl
cmp byte [ebp - 0x4d], 0
jne 0x4bb9d7
test byte [ebx + 0x19], 8
jne case.0x4b5c88.0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x54], ecx
mov al, byte [ebp - 0x4d]
push eax
mov edx, dword [esi + 8]
push edx
mov ecx, dword [ebp - 0x54]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 4]
push edx
call fcn.004af6bc
add esp, 0xc
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
cmp ecx, 6
jne case.0x4b5c88.0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x58]
push edx
push str.database_table_is_locked:__s
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
add esp, 0x10
jmp case.0x4b5c88.0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
push edx
push ebx
call fcn.004de690
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x130], 0
je case.0x4b5c88.0
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5afc
add esp, 8
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
mov eax, dword [esi + 0x10]
push eax
mov edx, dword [esi + 4]
push edx
push ebx
call fcn.004de2a4
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x62]
and al, 0xf3
or al, 8
mov byte [edx + 0x62], al
mov ecx, dword [esi + 0x10]
push ecx
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.004de4ec
add esp, 0xc
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
and byte [edx + 0x62], 0xf3
jmp case.0x4b5c88.0
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], eax
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x128], ecx
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
mov dword [ebp - 0x124], edx
push ecx
mov eax, dword [ebp - 0x128]
push eax
mov edx, dword [ebp - 0x124]
call dword [edx + 0x18]
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x128]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004b5afc
add esp, 8
cmp dword [ebp - 0xc], 0
jne case.0x4b5c88.0
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x128]
mov dword [edx], eax
push 0
push 0xffffffffffffffff
push 0
mov edx, dword [esi + 4]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5914
add esp, 0x14
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x4bbb86
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x12c]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x130]
mov eax, dword [ecx]
mov dword [edx + 0x28], eax
jmp case.0x4b5c88.0
mov byte [ebx + 0x40], 1
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x124]
call dword [eax + 0x1c]
pop ecx
jmp case.0x4b5c88.0
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x124]
add ecx, 0x28
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x114], edx
mov ecx, dword [ebp - 0x114]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx]
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x120]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x12c], eax
xor edx, edx
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x108], ecx
xor eax, eax
mov dword [ebp - 0x10c], eax
jmp 0x4bbc7a
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x108]
shl ecx, 3
mov eax, dword [ebp - 0x10c]
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x120]
add ecx, 0x28
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x108]
mov edx, dword [edx + eax*4]
push edx
call fcn.004b58dc
pop ecx
inc dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x130]
jl 0x4bbc3a
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov al, byte [ecx + 0x62]
and al, 0xf3
or al, 4
mov byte [edx + 0x62], al
mov ecx, dword [ebp - 0x108]
push ecx
mov eax, dword [ebp - 0x130]
push eax
mov edx, dword [esi + 0x10]
push edx
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x11c]
push eax
mov edx, dword [ebp - 0x128]
call dword [edx + 0x20]
add esp, 0x14
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 8]
and byte [ecx + 0x62], 0xf3
mov eax, dword [ebp - 0x118]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5afc
add esp, 8
cmp dword [ebp - 0xc], 0
jne 0x4bbcfe
mov ecx, dword [ebp - 0x11c]
push ecx
mov eax, dword [ebp - 0x128]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x4bbd0e
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x114]
mov byte [ecx + 0x1c], 0
jmp case.0x4b5c88.0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x5c], edx
mov ecx, dword [esi + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 0x1c], 0
je 0x4bbd59
mov eax, dword [ebp - 0x128]
push eax
call fcn.004b09fc
pop ecx
jmp case.0x4b5c88.0
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
mov ecx, dword [edx]
mov dword [ebp - 0x12c], ecx
push 0x40
push 0
lea eax, [ebp - 0x120]
push eax
call fcn.00500058
add esp, 0xc
mov edx, dword [ebp - 0x128]
push edx
lea ecx, [ebp - 0x118]
push ecx
call fcn.004b0c00
mov ax, word [ebp - 0xfc]
add esp, 8
and ax, 0xbe00
lea ecx, [ebp - 0x120]
or ax, 1
mov word [ebp - 0xfc], ax
mov edx, dword [esi + 8]
push edx
push ecx
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x24]
push edx
mov ecx, dword [ebp - 0x12c]
call dword [ecx + 0x2c]
add esp, 0xc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x130]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5afc
add esp, 8
cmp dword [ebp - 0xe8], 0
je 0x4bbdfa
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc], ecx
xor eax, eax
mov al, byte [ebp - 0xe]
push eax
lea edx, [ebp - 0x118]
push edx
call fcn.004b03c0
add esp, 8
lea ecx, [ebp - 0x118]
push ecx
mov eax, dword [ebp - 0x128]
push eax
call fcn.004b0c00
add esp, 8
mov edx, dword [ebp - 0x128]
push edx
call fcn.004b0b3c
pop ecx
test eax, eax
je case.0x4b5c88.0
jmp 0x4bc258
xor ecx, ecx
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x124]
cmp byte [ecx + 0x1c], 0
je 0x4bbe6f
jmp case.0x4b5c88.0
mov ecx, dword [ebp - 0x124]
mov eax, dword [ecx + 0x24]
mov edx, dword [eax]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx]
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov cl, byte [edx + 0x62]
and cl, 0xf3
or cl, 4
mov byte [eax + 0x62], cl
mov edx, dword [ebp - 0x124]
mov ecx, dword [edx + 0x24]
push ecx
mov eax, dword [ebp - 0x12c]
call dword [eax + 0x24]
pop ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 8]
and byte [edx + 0x62], 0xf3
mov ecx, dword [ebp - 0x130]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004b5afc
add esp, 8
cmp dword [ebp - 0xc], 0
jne 0x4bbef1
mov edx, dword [ebp - 0x124]
mov ecx, dword [edx + 0x24]
push ecx
mov eax, dword [ebp - 0x12c]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jne case.0x4b5c88.0
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 4], edx
jmp case.0x4b5c88.0
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x130], eax
mov edx, dword [esi + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x12c], edx
push 1
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.004b03c0
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne case.0x4b5c88.0
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax + 4]
push edx
mov ecx, dword [ebp - 0x130]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5afc
add esp, 8
mov eax, dword [ebp + 8]
and byte [eax + 0x62], 0xdf
jmp case.0x4b5c88.0
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
mov dword [ebp - 0x12c], edx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x12c]
cmp dword [eax + 0x34], 0
je case.0x4b5c88.0
mov dl, byte [ebx + 0x44]
mov byte [ebp - 0x5d], dl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x118], eax
mov edx, dword [esi + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x114], edx
xor ecx, ecx
mov dword [ebp - 0x124], ecx
jmp 0x4bc011
mov eax, dword [ebp - 0x114]
push eax
call fcn.004b58dc
pop ecx
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x114]
mov dword [edx + eax*4], ecx
add dword [ebp - 0x114], 0x28
inc dword [ebp - 0x124]
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x128]
jl 0x4bbfe2
mov cl, byte [esi + 3]
lea eax, [ebp - 0x120]
mov byte [ebx + 0x44], cl
push eax
mov edx, dword [ebp - 0x118]
push edx
mov ecx, dword [ebp - 0x128]
push ecx
mov eax, dword [ebp - 0x130]
push eax
mov edx, dword [ebp - 0x12c]
call dword [edx + 0x34]
add esp, 0x10
mov dword [ebp - 0xc], eax
mov cl, byte [ebp - 0x5d]
mov byte [ebx + 0x44], cl
mov eax, dword [ebp - 0x130]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.004b5afc
add esp, 8
cmp dword [ebp - 0xc], 0
jne 0x4bc08d
cmp dword [esi + 4], 0
je 0x4bc08d
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
cmp ecx, 0x13
jne 0x4bc0d4
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x10], 0
je 0x4bc0d4
xor edx, edx
mov dl, byte [esi + 3]
cmp edx, 4
jne 0x4bc0b8
xor ecx, ecx
mov dword [ebp - 0xc], ecx
jmp case.0x4b5c88.0
xor eax, eax
mov al, byte [esi + 3]
cmp eax, 5
jne 0x4bc0c6
mov dl, 2
jmp 0x4bc0c9
mov dl, byte [esi + 3]
mov eax, dword [ebp + 8]
mov byte [eax + 0x60], dl
jmp case.0x4b5c88.0
mov ecx, dword [ebp + 8]
inc dword [ecx + 0x64]
jmp case.0x4b5c88.0
mov ecx, dword [esi + 4]
shl ecx, 4
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + ecx + 4]
push edx
call fcn.004a8b7c
pop ecx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4b5c88.0
mov eax, dword [esi + 4]
mov edx, dword [ebx + 0x10]
shl eax, 4
mov ecx, dword [edx + eax + 4]
xor eax, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
cmp dword [esi + 0xc], 0
je 0x4bc139
mov edx, dword [ebp - 0x68]
push edx
call fcn.004a8b7c
pop ecx
mov dword [ebp - 0x64], eax
mov ecx, dword [esi + 0xc]
cmp ecx, dword [ebp - 0x64]
jbe 0x4bc139
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
push edx
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.004a9488
mov ecx, dword [ebp - 0x28]
add esp, 8
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x4b5c88.0
cmp dword [ebx + 0xa0], 0
je case.0x4b5c88.0
mov eax, dword [ebp + 8]
test byte [eax + 0x63], 4
jne case.0x4b5c88.0
cmp dword [esi + 0x10], 0
je 0x4bc172
mov edx, dword [esi + 0x10]
jmp 0x4bc17b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x98]
mov dword [ebp - 0x130], edx
test edx, edx
je case.0x4b5c88.0
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b5630
add esp, 8
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov eax, dword [ebx + 0xa4]
push eax
call dword [ebx + 0xa0]
add esp, 8
mov edx, dword [ebp - 0x12c]
push edx
push ebx
call fcn.00499448
add esp, 8
jmp case.0x4b5c88.0
inc dword [ebp - 4]
cmp dword [ebp - 0xc], 0
je 0x4b5bf9
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x38]
push ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x98]
push edx
mov ecx, dword [ebp - 4]
push ecx
push str.statement_aborts_at__d:___s___s
mov eax, dword [ebp - 0xc]
push eax
call fcn.0049abb8
add esp, 0x14
mov edx, dword [ebp + 8]
push edx
call fcn.004b322c
cmp dword [ebp - 0xc], 0xc0a
pop ecx
jne 0x4bc21a
mov byte [ebx + 0x40], 1
mov dword [ebp - 0xc], 1
xor ecx, ecx
mov cl, byte [ebp - 0xd]
test ecx, ecx
jle 0x4bc23a
xor eax, eax
mov al, byte [ebp - 0xd]
dec eax
push eax
push ebx
call fcn.004c677c
add esp, 8
mov edx, dword [ebp - 0x38]
mov dword [ebx + 0x20], edx
mov edx, dword [ebp - 0x34]
mov dword [ebx + 0x24], edx
mov eax, dword [ebp + 8]
push eax
call fcn.004b2238
pop ecx
mov eax, dword [ebp - 0xc]
jmp 0x4bc312
push 0x51ddef
push ebx
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00499834
mov dword [ebp - 0xc], 0x12
add esp, 0xc
jmp 0x4bc1d4
mov byte [ebx + 0x40], 1
push 0x51de06
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
mov dword [ebp - 0xc], 7
add esp, 0xc
jmp 0x4bc1d4
cmp byte [ebx + 0x40], 0
je 0x4bc2ab
mov dword [ebp - 0xc], 7
cmp dword [ebp - 0xc], 0xc0a
je 0x4bc1d4
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004e8db0
pop ecx
push eax
push 0x51de14
push ebx
mov eax, dword [ebp + 8]
add eax, 0x38
push eax
call fcn.00499834
add esp, 0x10
jmp 0x4bc1d4
mov dword [ebp - 0xc], 9
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x5c], eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.004e8db0
pop ecx
push eax
push 0x51de17
push ebx
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00499834
add esp, 0x10
jmp 0x4bc1d4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret