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

Disassembly:
sub esp, 0x9c
push ebx
xor eax, eax
mov dword [esp + 0x4c], 0
cmp dword [esp + 0xbc], eax
push ebp
push esi
push edi
mov edi, dword [esp + 0xb0]
setne byte [esp + 0x13]
mov dword [esp + 0x74], 0
mov byte [esp + 0x1b], 0
mov dword [esp + 0x84], eax
mov esi, dword [edi + 8]
mov ebp, dword [edi]
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], ebp
mov dword [esp + 0x5c], esi
test esi, esi
jne 0x4bb7c5
cmp dword [edi + 0x74], eax
jne 0x4bb7b6
test byte [ebp + 0x4c], 8
jne 0x4bb7b6
mov byte [edi + 0x17], 1
push edi
call fcn.004d54b0
add esp, 4
mov dword [esp + 0x5c], eax
mov esi, eax
mov ebx, dword [esp + 0xb4]
movsx eax, word [ebx + 0x2a]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x1c], eax
test cl, cl
js 0x4bb7ed
mov dword [esp + 0x24], 0
mov dword [esp + 0x68], 1
jmp 0x4bb818
mov edx, dword [ebx + 8]
mov dword [esp + 0x24], edx
test edx, edx
je 0x4bb810
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
je 0x4bb808
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x4bb7f8
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
movzx edx, word [edx + 0x32]
mov dword [esp + 0x68], edx
test ecx, 0x800
je 0x4bbb85
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], ebx
xor ebp, ebp
test eax, eax
jle 0x4bbb28
xor ecx, ecx
mov dword [esp + 0x48], ecx
jmp 0x4bb850
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 4]
add ecx, eax
mov dword [esp + 0x28], ecx
movzx edi, byte [ecx + 0xc]
test edi, edi
je 0x4bbb01
mov eax, dword [esp + 0xb4]
movsx eax, word [eax + 0x28]
cmp ebp, eax
je 0x4bbb01
movzx eax, word [ecx + 0x10]
and eax, 0x60
je 0x4bb896
test edx, edx
jne 0x4bb896
inc ebx
mov dword [esp + 0x20], ebx
jmp 0x4bbb01
cmp dword [esp + 0xdc], 0
mov esi, dword [esp + 0x5c]
je 0x4bb8bd
mov esi, dword [esp + 0xdc]
cmp dword [esi + ebp*4], 0
mov esi, dword [esp + 0x5c]
jge 0x4bb8bd
test eax, eax
je 0x4bbb01
cmp byte [esp + 0xd0], 0xb
mov ecx, dword [esp + 0x28]
je 0x4bb8ec
movzx edi, byte [esp + 0xd0]
mov edx, dword [esp + 0x2c]
cmp edi, 5
jne 0x4bb8f6
test edx, edx
jne 0x4bb8e5
cmp dword [ecx + 4], edx
jne 0x4bb902
mov edi, 2
jmp 0x4bb902
cmp edi, 0xb
jne 0x4bb8d7
mov edi, 2
test edx, edx
je 0x4bb902
test eax, eax
je 0x4bbb01
mov eax, dword [esp + 0xb4]
test byte [eax + 0x24], 0x20
je 0x4bb974
movzx eax, bp
test ax, ax
js 0x4bb974
movsx ecx, ax
xor ebx, ebx
xor edx, edx
test ecx, ecx
jle 0x4bb93d
mov ebx, dword [esp + 0xb4]
mov eax, dword [ebx + 4]
mov ebx, ecx
add eax, 0x10
test byte [eax], 0x20
jne 0x4bb937
inc edx
add eax, 0x14
dec ecx
jne 0x4bb931
mov esi, dword [esp + 0xb4]
lea eax, [ebx + ebx*4]
mov ecx, dword [esi + 4]
mov esi, dword [esp + 0x5c]
test byte [ecx + eax*4 + 0x10], 0x20
mov ecx, dword [esp + 0x28]
je 0x4bb96f
mov eax, dword [esp + 0xb4]
mov ax, word [eax + 0x2c]
sub ax, dx
add ax, bx
movzx eax, ax
jmp 0x4bb977
movzx eax, dx
jmp 0x4bb977
movzx eax, bp
mov ebx, dword [esp + 0xc4]
cwde
inc ebx
add ebx, eax
lea eax, [edi - 1]
cmp eax, 4
ja case.0x4bb98e.4
jmp dword [eax*4 + 0x4bd9e4]
push ebx
push 0x33
push esi
call fcn.004d4a00
inc dword [esp + 0x3c]
mov edi, eax
mov eax, dword [esp + 0x34]
push ebx
push dword [eax + 4]
push dword [esp + 0xc4]
call fcn.004afe00
mov edx, dword [esi + 0x6c]
add esp, 0x18
test edi, edi
jns 0x4bb9c5
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bb9da
mov eax, 0x530d04
mov dword [eax + 8], edx
jmp 0x4bbafd
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4bbafd
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + 0x74]
test eax, eax
jne 0x4bb9fc
mov eax, edx
mov byte [eax + 0x15], 1
push dword [ecx]
mov eax, dword [esp + 0xb8]
push dword [eax]
push str._s._s
push dword [esp + 0x60]
call fcn.004c2dc0
mov ecx, dword [esi + 0x6c]
add esp, 0x10
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x70], ecx
jg 0x4bba3c
push ebx
push edi
push 0x513
push 0x43
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bba67
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x43
mov dword [eax + ecx*4 + 4], 0x513
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x3c]
cmp byte [eax + 0x51], 0
je 0x4bba81
push edx
push 0xfffffffffffffff9
push eax
call fcn.0047d1f0
add esp, 0xc
jmp 0x4bba93
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf9
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bbafd
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x4bbafd
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bbacb
push 0
push dword [esp + 0xd8]
push ebx
push 0x32
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bbafd
mov edx, dword [esp + 0xd4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
inc ebp
mov eax, dword [esp + 0x1c]
add ecx, 0x14
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x48], ecx
cmp ebp, eax
jl 0x4bb850
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xb0]
test ebx, ebx
jne 0x4bbb30
test ecx, ecx
je 0x4bbb7a
test edx, edx
jne 0x4bbb7a
mov edx, 1
mov dword [esp + 0x2c], edx
test ecx, ecx
jle 0x4bb836
mov ebp, dword [esp + 0xb4]
test byte [ebp + 0x24], 0x60
je 0x4bb836
mov eax, dword [esp + 0xc4]
push ebp
inc eax
push eax
push edi
call fcn.004ab9e0
mov edx, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
jmp 0x4bb836
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x54]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x4bbea7
mov eax, dword [ebp + 0x20]
and eax, 0x200
or eax, 0
jne 0x4bbea7
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
mov dword [edi + 0x34], eax
mov al, byte [esp + 0xd0]
cmp al, 0xb
je 0x4bbbc6
movzx eax, al
mov dword [esp + 0x20], eax
jmp 0x4bbbce
mov dword [esp + 0x20], 2
cmp dword [ecx], 0
mov dword [esp + 0x3c], 0
jle 0x4bbea0
lea ebp, [ecx + 8]
mov dword [esp + 0x28], ebp
jmp 0x4bbbf0
mov edx, dword [esp + 0xdc]
mov edi, dword [ebp - 4]
test edx, edx
je 0x4bbc8b
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov word [esp + 0x9c], ax
mov dword [esp + 0x8c], 0x470df0
mov dword [esp + 0xa0], edx
test edi, edi
je 0x4bbc70
lea eax, [esp + 0x88]
push edi
push eax
call fcn.004f37b0
mov ax, word [esp + 0xa4]
add esp, 8
mov ecx, dword [esp + 0x1c]
cmp byte [esp + 0xcc], 0
jne 0x4bbc82
mov edx, 0xfffd
and ax, dx
test ax, ax
je 0x4bbe7d
cmp byte [esp + 0x1b], 0
jne 0x4bbcaa
mov eax, dword [esp + 0xc4]
inc eax
push eax
push ebx
push esi
call fcn.004d0430
add esp, 0xc
mov byte [esp + 0x1b], 1
mov eax, dword [esp + 0xb0]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
test edi, edi
je 0x4bbcd7
push 0
push 0
push edi
push dword [esp + 0x60]
call fcn.004798e0
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0xb0]
jmp 0x4bbcd9
xor edi, edi
mov ecx, dword [esp + 0x54]
cmp byte [ecx + 0x51], 0
jne 0x4bbcf4
push 0x10
push ebx
push edi
push eax
call fcn.004b3170
mov ecx, dword [esp + 0x64]
add esp, 0x10
test edi, edi
je 0x4bbd02
push edi
push ecx
call fcn.004b2a40
add esp, 8
mov eax, dword [esp + 0x20]
cmp eax, 4
jne 0x4bbd69
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bbd2e
push 0
push dword [esp + 0xd8]
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bbe4f
mov edx, dword [esp + 0xd4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4bbe4f
mov ebp, dword [ebp]
test ebp, ebp
jne 0x4bbd79
mov ecx, dword [esp + 0xb4]
mov ebp, dword [ecx]
cmp eax, 5
jne 0x4bbd86
mov dword [esp + 0x20], 2
mov ecx, dword [esp + 0xb0]
mov edi, dword [ecx + 8]
test edi, edi
jne 0x4bbdb7
cmp dword [ecx + 0x74], edi
jne 0x4bbda5
mov eax, dword [ecx]
test byte [eax + 0x4c], 8
jne 0x4bbda5
mov byte [ecx + 0x17], 1
push ecx
call fcn.004d54b0
mov ecx, dword [esp + 0xb4]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x20]
cmp eax, 2
jne 0x4bbdd1
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x4bbdc9
mov eax, ecx
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x4bbdf0
push 0
push eax
push 0x113
push 0x44
push edi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bbe27
mov esi, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x44
mov dword [eax + ecx*4 + 4], 0x113
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebp
push edx
push edi
call fcn.004d4fb0
mov eax, dword [edi + 0x6c]
add esp, 0x10
mov ebp, dword [esp + 0x28]
test eax, eax
jle 0x4bbe4f
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bbe69
push ebx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bbe72
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
add ebp, 0x14
inc eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3c], eax
cmp eax, dword [ecx]
jl 0x4bbbf0
mov edi, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
mov dword [edi + 0x34], 0
mov edx, dword [esp + 0xe0]
test edx, edx
je 0x4bbf2d
cmp dword [edx], 0
jne 0x4bbecc
mov byte [esp + 0xd0], 4
mov dword [esp + 0xe0], 0
jmp 0x4bbf2d
mov eax, dword [edx + 0x10]
mov dword [esp + 0x74], eax
test eax, eax
je 0x4bbf2d
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x70], edx
cmp dword [esi + 0x70], edx
jg 0x4bbefa
push 0
push 0
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
mov dword [esp + 0x70], eax
jmp 0x4bbf2d
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0xa8], eax
mov eax, ecx
and eax, 0x6000
or eax, edx
jne 0x4bbf54
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edx
jmp 0x4bc08c
mov eax, dword [edi]
and ecx, 0x2000
or ecx, 0
mov eax, dword [eax + 0x20]
je 0x4bbfdf
xor ebp, ebp
and eax, 0x40000
or eax, ebp
je 0x4bbf7b
push ebx
push edi
call fcn.004d0b70
add esp, 8
mov edx, eax
mov ecx, edx
test edx, edx
je 0x4bbf94
cmp byte [ecx + 8], 0x7e
jne 0x4bbf8d
movzx eax, byte [ecx + 9]
or ebp, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x4bbf81
neg ebp
sbb ebp, ebp
and ebp, edx
mov dword [esp + 0x2c], ebp
jne 0x4bc02b
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x4bbfd2
mov eax, dword [ebx + 0x48]
push 0
push dword [ebx]
add eax, 0x38
push eax
call fcn.0047b260
add esp, 0xc
cmp dword [eax + 8], 0
jne 0x4bc02b
cmp dword [ebx + 0x10], 0
jne 0x4bc02b
mov dword [esp + 0x38], 0
jmp 0x4bc08c
and eax, 0x4000
mov dword [esp + 0x2c], 0
or eax, 0
mov dword [esp + 0x38], edx
je 0x4bc027
mov eax, dword [ebx + 0x48]
push 0
push dword [ebx]
add eax, 0x38
push eax
call fcn.0047b260
add esp, 0xc
cmp dword [eax + 8], 0
jne 0x4bc01e
cmp dword [ebx + 0x10], 0
jne 0x4bc01e
mov dword [esp + 0x38], 0
jmp 0x4bc08c
mov edx, 1
mov dword [esp + 0x38], edx
test edx, edx
je 0x4bc08c
inc dword [edi + 0x2c]
mov ecx, dword [esi + 0x6c]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x38], edx
cmp dword [esi + 0x70], ecx
jg 0x4bc04f
push 0
push edx
push 0
push 0x45
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc07e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x60], eax
cmp byte [esp + 0xcc], 0
je 0x4bc535
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4bc535
dec dword [edi + 0x38]
mov cl, byte [esp + 0xd0]
mov ebp, dword [edi + 0x38]
movzx ebx, byte [ebx + 0x32]
cmp cl, 0xb
je 0x4bc0c1
movzx ebx, cl
jmp 0x4bc0cb
cmp ebx, 0xb
jne 0x4bc0cb
mov ebx, 2
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x4bc0ed
cmp dword [eax + 0x10], 0
jne 0x4bc0ed
xor ebx, ebx
cmp dword [eax + 8], ebx
setne bl
lea ebx, [ebx*2 + 4]
jmp 0x4bc161
cmp ebx, 5
jne 0x4bc161
cmp cl, bl
je 0x4bc161
mov eax, dword [esp + 0xb4]
cmp dword [eax + 8], 0
je 0x4bc161
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x4bc120
push 0
push 0
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bc15a
mov edi, dword [esp + 0xb0]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [edx + 1]
mov dword [esp + 0x7c], eax
cmp byte [esp + 0x13], 0
je 0x4bc1d8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc18c
push dword [esp + 0xc8]
push ebp
push dword [esp + 0xcc]
push 0x35
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc1c1
mov edx, dword [esp + 0xc4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bc1d8
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc203
push dword [esp + 0xc4]
push ebp
push dword [esp + 0xc4]
push 0x20
push esi
call fcn.00490570
mov edx, dword [esp + 0xd0]
add esp, 0x14
jmp 0x4bc23f
mov edi, dword [esp + 0xc4]
lea eax, [ecx + 1]
mov edx, dword [esp + 0xbc]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0xb0]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [ebx - 1]
cmp eax, 5
ja case.default.0x4bc24b
jmp dword [eax*4 + 0x4bd9f8]
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x4bc2b4
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x4bc263
mov eax, edi
push 0xffffffffffffffff
push 1
push 5
push 0
push 1
push dword [esp + 0xd8]
mov byte [eax + 0x14], 1
push dword [esp + 0xd8]
push edx
push dword [esp + 0x4c]
push dword [esp + 0xd8]
push edi
call fcn.004bdc90
push 1
push ebx
push 0x52
push esi
call fcn.004d4a60
add esp, 0x3c
mov dword [esp + 0x78], 1
mov dword [esp + 0x58], 1
jmp 0x4bc482
mov ecx, dword [esp + 0xb4]
cmp dword [ecx + 8], 0
je 0x4bc2e4
mov eax, dword [edi + 0x74]
test eax, eax
jne 0x4bc2ca
mov eax, edi
push 0xffffffffffffffff
push 0
push dword [esp + 0xc8]
mov byte [eax + 0x14], 1
push edx
push ecx
push edi
call fcn.004be0b0
add esp, 0x18
mov dword [esp + 0x58], 1
jmp 0x4bc482
push edx
push 0
push dword [esp + 0xbc]
push dword [esp + 0xec]
push edi
call fcn.004d3e20
add esp, 0x14
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc32e
push 0
push dword [esp + 0xd8]
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc482
mov edx, dword [esp + 0xd4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4bc482
mov ebx, 2
mov edx, dword [esp + 0xb4]
movzx eax, word [edx + 0x28]
test ax, ax
js 0x4bc3a3
cwde
lea ecx, [eax + eax*4]
mov eax, dword [edx + 4]
push dword [eax + ecx*4]
push dword [edx]
push str._s._s
push dword [edi]
call fcn.004c2dc0
add esp, 0x10
mov dword [esp + 0x1c], 0x613
jmp 0x4bc3bc
push dword [edx]
push str._s.rowid
push dword [edi]
call fcn.004c2dc0
add esp, 0xc
mov dword [esp + 0x1c], 0xa13
mov edi, dword [edi + 8]
mov dword [esp + 0x3c], eax
test edi, edi
jne 0x4bc3ea
mov ecx, dword [esp + 0xb0]
cmp dword [ecx + 0x74], edi
jne 0x4bc3df
mov eax, dword [ecx]
test byte [eax + 0x4c], 8
jne 0x4bc3df
mov byte [ecx + 0x17], 1
push ecx
call fcn.004d54b0
add esp, 4
mov edi, eax
cmp ebx, 2
jne 0x4bc403
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x4bc3ff
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x4bc421
push 0
push ebx
push dword [esp + 0x24]
push 0x44
push edi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bc454
mov esi, dword [esp + 0x1c]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x44
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff9
push dword [esp + 0x40]
push edx
push edi
call fcn.004d4fb0
mov eax, dword [edi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x4bc47b
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0xb0]
mov ecx, dword [esi + 0xc]
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bc49c
push ebp
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bc4a5
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x4bc535
mov ebx, dword [esi + 0x6c]
mov dword [esp + 0x80], ebx
cmp dword [esi + 0x70], ebx
jg 0x4bc4da
push 0
push 0
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
mov dword [esp + 0x80], eax
jmp 0x4bc50d
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
lea ecx, [ebp - 1]
test ecx, ecx
jns 0x4bc51a
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bc529
mov eax, 0x530d04
jmp 0x4bc532
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0xb4]
xor ebp, ebp
mov dword [esp + 0x44], ebp
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
test eax, eax
je 0x4bd5eb
mov ecx, dword [esp + 0xb8]
jmp 0x4bc567
mov edi, dword [esp + 0xb0]
cmp dword [ecx + ebp*4], 0
je 0x4bd5ce
mov edx, dword [esp + 0x74]
cmp edx, eax
jne 0x4bc631
mov ebp, dword [esp + 0x70]
inc ebp
mov dword [esp + 0x34], ebp
mov ebp, dword [esi + 0x6c]
mov dword [esp + 0x84], ebp
cmp dword [esi + 0x70], ebp
jg 0x4bc5af
push 0
push 0
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
mov dword [esp + 0x84], eax
jmp 0x4bc5e8
lea eax, [ebp + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebp*4]
mov eax, dword [esi + 0x68]
add ecx, ebp
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x70]
mov ecx, eax
mov edx, dword [esi + 0x6c]
test eax, eax
jns 0x4bc5f8
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bc616
mov ebp, dword [esp + 0x44]
mov eax, 0x530d04
mov dword [eax + 8], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x74]
jmp 0x4bc63b
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov ebp, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x74]
lea eax, [eax + ecx*4]
mov eax, dword [esp + 0x14]
jmp 0x4bc63b
dec dword [edi + 0x38]
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x34], ecx
cmp byte [esp + 0x1b], 0
jne 0x4bc662
test edx, edx
je 0x4bc64a
cmp edx, eax
jne 0x4bc662
mov eax, dword [esp + 0xc4]
inc eax
push eax
push ebx
push esi
call fcn.004d0430
add esp, 0xc
mov byte [esp + 0x1b], 1
mov eax, dword [esp + 0x14]
add ebp, dword [esp + 0xc0]
mov dword [esp + 0x64], ebp
cmp dword [eax + 0x24], 0
je 0x4bc73c
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc6a3
push 0
push edx
push 0
push 0x48
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc6d2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [edi]
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4bc6fe
push 0
push 0
push eax
push ebx
call fcn.004798e0
add esp, 0x10
mov edi, eax
jmp 0x4bc700
xor edi, edi
cmp byte [ebx + 0x51], 0
jne 0x4bc71c
push 0x10
push dword [esp + 0x38]
push edi
push dword [esp + 0xbc]
call fcn.004b2d40
add esp, 0x10
test edi, edi
je 0x4bc72a
push edi
push ebx
call fcn.004b2a40
add esp, 8
mov edi, dword [esp + 0xb0]
mov eax, dword [esp + 0x14]
mov dword [edi + 0x34], 0
mov ecx, dword [esp + 0xb8]
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebx, dword [ecx + ebx*4]
xor ecx, ecx
inc ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], ebx
cmp dx, word [eax + 0x34]
jae 0x4bc937
mov ebp, ebx
xor ebx, ebx
mov dword [esp + 0x1c], ebx
lea esp, [esp]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ecx*2]
cmp ecx, 0xfffffffe
jne 0x4bc7ea
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ebx + 4]
mov ebx, dword [edi]
test eax, eax
je 0x4bc7ac
push 0
push 0
push eax
push ebx
call fcn.004798e0
add esp, 0x10
mov edi, eax
jmp 0x4bc7ae
xor edi, edi
cmp byte [ebx + 0x51], 0
jne 0x4bc7c5
push ebp
push edi
push dword [esp + 0xb8]
call fcn.004afdb0
add esp, 0xc
test edi, edi
je 0x4bc7d3
push edi
push ebx
call fcn.004b2a40
add esp, 8
mov edi, dword [esp + 0xb0]
mov ebx, dword [esp + 0x1c]
mov dword [edi + 0x34], 0
jmp 0x4bc90a
cmp ecx, 0xffffffff
je 0x4bc8b9
mov eax, dword [esp + 0xb4]
movsx eax, word [eax + 0x28]
cmp ecx, eax
je 0x4bc8b9
mov eax, dword [esp + 0xb4]
test byte [eax + 0x24], 0x20
je 0x4bc879
test cx, cx
js 0x4bc879
movsx ecx, cx
xor edi, edi
xor edx, edx
test ecx, ecx
jle 0x4bc843
mov eax, dword [eax + 4]
mov edi, ecx
add eax, 0x10
jmp 0x4bc830
test byte [eax], 0x20
jne 0x4bc836
inc edx
add eax, 0x14
dec ecx
jne 0x4bc830
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 4]
lea ecx, [edi + edi*4]
test byte [eax + ecx*4 + 0x10], 0x20
je 0x4bc86d
mov eax, dword [esp + 0xb4]
mov ax, word [eax + 0x2c]
sub ax, dx
add ax, di
mov edi, dword [esp + 0xb0]
movzx eax, ax
jmp 0x4bc87c
mov edi, dword [esp + 0xb0]
movzx eax, dx
jmp 0x4bc87c
movzx eax, cx
mov edx, dword [esp + 0xc4]
mov ecx, dword [esi + 0x6c]
inc edx
cwde
add edx, eax
cmp dword [esi + 0x70], ecx
jg 0x4bc8a0
push 0
push ebp
push edx
push 0x4e
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc90a
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4e
jmp 0x4bc8f2
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc8d8
push 0
push ebp
push dword [esp + 0xcc]
push 0x4f
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc90a
mov edx, dword [esp + 0xc4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4f
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x14]
add ebx, 0x14
mov ecx, dword [esp + 0x3c]
inc ebp
inc ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], ecx
movzx eax, word [eax + 0x34]
cmp ecx, eax
mov eax, dword [esp + 0x14]
jl 0x4bc770
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xb8]
movzx edi, word [eax + 0x34]
mov edx, dword [edx + ecx*4]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bc961
push edx
push edi
push ebx
push 0x5b
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bc98c
mov ebp, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x13], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
je 0x4bc9d8
cmp edx, ecx
jne 0x4bc9d8
cmp byte [esp + 0xcc], 0
jne 0x4bc9d8
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bc9ca
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd5c0
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
jmp 0x4bd5c0
movzx ebx, byte [ecx + 0x36]
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x4bca05
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bc9ca
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd5c0
mov al, byte [esp + 0xd0]
cmp al, 0xb
je 0x4bca15
movzx ebx, al
jmp 0x4bca1f
cmp ebx, 0xb
jne 0x4bca23
mov ebx, 2
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x74], ecx
jne 0x4bca43
mov eax, dword [esp + 0xe0]
xor ebx, ebx
cmp dword [eax + 8], ebx
setne bl
lea ebx, [ebx*2 + 4]
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x44], 0
jne 0x4bcb33
cmp dword [ecx + 0x14], 0
jne 0x4bcb33
cmp edx, ecx
jne 0x4bcb33
cmp ebx, 5
jne 0x4bcb33
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x20]
and eax, 0x2000
mov dword [esp + 0x3c], eax
lea eax, [ebx - 5]
jne 0x4bca82
test eax, eax
je 0x4bcace
mov ecx, dword [esp + 0xb0]
xor edx, edx
xor edi, edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
and eax, 0x40000
or eax, edx
je 0x4bcaad
push dword [esp + 0xb4]
push ecx
call fcn.004d0b70
add esp, 8
mov edx, eax
mov ecx, edx
test edx, edx
je 0x4bcac6
cmp byte [ecx + 8], 0x7e
jne 0x4bcabf
movzx eax, byte [ecx + 9]
or edi, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x4bcab3
neg edi
sbb edi, edi
test edx, edi
jne 0x4bcb33
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x20]
and eax, 0x4000
mov dword [esp + 0x3c], eax
mov eax, 0
jne 0x4bcae9
test eax, eax
je 0x4bcb0e
mov ecx, dword [esp + 0xb4]
cmp dword [ecx + 0x10], eax
jne 0x4bcb33
mov eax, dword [ecx + 0x48]
push 0
push dword [ecx]
add eax, 0x38
push eax
call fcn.0047b260
add esp, 0xc
cmp dword [eax + 8], 0
jne 0x4bcb33
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bc9ca
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd5c0
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x28], edx
movzx edi, word [eax + 0x32]
cmp dword [esi + 0x70], edx
jg 0x4bcb63
push dword [esp + 0x20]
push dword [esp + 0x38]
push ebp
push 0x1c
push esi
call fcn.00490570
mov edx, eax
add esp, 0x14
mov dword [esp + 0x28], edx
jmp 0x4bcb96
mov ebx, dword [esp + 0x34]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0x1c
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4bcbad
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x24]
jne 0x4bcbc1
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], edx
jmp 0x4bcc22
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xb0]
cmp eax, 1
jne 0x4bcbf1
mov al, byte [edi + 0x13]
test al, al
jne 0x4bcbe0
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
jmp 0x4bcc1a
dec al
mov byte [edi + 0x13], al
movzx eax, al
mov edx, dword [edi + eax*4 + 0x98]
jmp 0x4bcc1a
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x50], edx
cmp eax, ecx
jg 0x4bcc0d
add eax, edx
sub ecx, dword [esp + 0x68]
mov dword [edi + 0x20], eax
mov dword [edi + 0x1c], ecx
jmp 0x4bcc1e
mov eax, dword [edi + 0x2c]
lea edx, [eax + 1]
add eax, dword [esp + 0x68]
mov dword [edi + 0x2c], eax
mov dword [esp + 0x50], edx
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x13], 0
jne 0x4bcc32
cmp ebx, 5
jne 0x4bcfee
mov eax, dword [esp + 0xb4]
test byte [eax + 0x24], 0x80
jne 0x4bcd0c
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bcc63
push 0
push edx
push ebp
push 0x86
push esi
call fcn.00490570
mov edx, dword [esp + 0x64]
add esp, 0x14
jmp 0x4bcc8e
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x13], 0
je 0x4bcfee
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bccba
push dword [esp + 0xc8]
push dword [esp + 0x38]
push edx
push 0x35
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bccec
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bcfee
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x4bcfee
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4bcdb6
xor ecx, ecx
xor ebp, ebp
cmp cx, word [eax + 0x32]
jae 0x4bcdb6
mov ebx, edx
movzx edx, word [edi + 0x34]
xor ecx, ecx
test edx, edx
jle 0x4bcd4d
mov eax, dword [eax + 4]
movzx edi, word [eax + ebp*2]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp di, word [eax]
je 0x4bcd6e
inc ecx
add eax, 2
cmp ecx, edx
jl 0x4bcd40
or eax, 0xffffffff
mov ecx, dword [esi + 0x6c]
movsx edx, ax
cmp dword [esi + 0x70], ecx
jg 0x4bcd73
push ebx
push edx
push dword [esp + 0x6c]
push 0x59
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bcd9e
movzx eax, cx
jmp 0x4bcd50
mov edi, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
inc ebp
mov edi, dword [esp + 0x14]
inc ebx
movzx eax, word [ecx + 0x32]
cmp ebp, eax
mov eax, ecx
jl 0x4bcd28
cmp byte [esp + 0x13], 0
je 0x4bcfee
movzx ecx, word [eax + 0x32]
mov eax, dword [esi + 0x6c]
add eax, ecx
mov dword [esp + 0x6c], 0x34
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
mov eax, dword [esp + 0x20]
je 0x4bcde7
mov eax, dword [esp + 0x50]
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], ebx
test ecx, ecx
jle 0x4bcfee
mov ecx, dword [esp + 0x24]
lea ecx, [ecx]
mov eax, dword [ecx + 0x20]
mov edi, dword [eax + ebx*4]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov bl, byte [ecx + 0x4e]
mov bh, byte [ecx + 0xa5]
mov byte [esp + 0xa4], bl
test edi, edi
je 0x4bcefa
movzx eax, bh
push eax
push edi
push ecx
call fcn.0047b0f0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x4bce48
movzx eax, bl
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
add ebp, 0xffffffec
mov eax, dword [esp + 0xb0]
test bh, bh
jne 0x4bce71
test ebp, ebp
je 0x4bce5d
cmp dword [ebp + 0xc], 0
jne 0x4bce71
push edi
push ebp
push dword [esp + 0xac]
push eax
call fcn.004be250
add esp, 0x10
mov ebp, eax
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
movsx edi, word [ecx + ebx*2]
movzx ecx, word [eax + 0x32]
dec ecx
cmp ebx, ecx
jne 0x4bce99
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0x35
mov eax, dword [esp + 0xb4]
test byte [eax + 0x24], 0x20
je 0x4bcf0b
test di, di
js 0x4bcf0b
movsx ecx, di
xor ebx, ebx
xor edx, edx
test ecx, ecx
jle 0x4bced3
mov eax, dword [eax + 4]
mov ebx, ecx
add eax, 0x10
mov edi, edi
test byte [eax], 0x20
jne 0x4bcec6
inc edx
add eax, 0x14
dec ecx
jne 0x4bcec0
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 4]
lea ecx, [ebx + ebx*4]
test byte [eax + ecx*4 + 0x10], 0x20
je 0x4bcf02
mov eax, dword [esp + 0xb4]
mov ax, word [eax + 0x2c]
sub ax, dx
add ax, bx
mov ebx, dword [esp + 0x1c]
movzx eax, ax
jmp 0x4bcf0e
mov ebp, dword [ecx + 8]
jmp 0x4bce4f
mov ebx, dword [esp + 0x1c]
movzx eax, dx
jmp 0x4bcf0e
movzx eax, di
mov edi, dword [esp + 0xc8]
mov edx, dword [esi + 0x6c]
inc edi
cwde
add edi, eax
cmp dword [esi + 0x70], edx
jg 0x4bcf3e
mov eax, dword [esp + 0x3c]
add eax, ebx
push eax
push dword [esp + 0x4c]
push edi
push dword [esp + 0x78]
push esi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bcf7a
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x6c]
mov byte [ecx], al
xor eax, eax
mov word [ecx + 2], ax
mov eax, dword [esp + 0x48]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
add eax, ebx
mov dword [ecx + 0xc], eax
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bcf90
push ebp
push 0xfffffffffffffffe
push eax
call fcn.0047d1f0
add esp, 0xc
jmp 0x4bcfc2
test edx, edx
jns 0x4bcf98
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x4bcfb7
push 0xfffffffffffffffe
push ebp
push eax
push esi
call fcn.004ed1b0
add esp, 0x10
jmp 0x4bcfc2
test ebp, ebp
je 0x4bcfc2
mov dword [eax + 0x10], ebp
mov byte [eax + 1], 0xfe
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bcfd9
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x1c], ebx
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x4bce00
mov ecx, dword [esp + 0x30]
lea eax, [ecx - 1]
cmp eax, 5
ja case.0x4bcffe.5
jmp dword [eax*4 + 0x4bda10]
push dword [esp + 0x14]
mov ebx, dword [esp + 0xb4]
push ecx
push ebx
call fcn.004d0fb0
add esp, 0xc
jmp 0x4bd4d1
push dword [esp + 0x64]
mov ebx, dword [esp + 0xb4]
push dword [esp + 0x18]
push dword [esp + 0xbc]
push dword [esp + 0xec]
push ebx
call fcn.004d3e20
add esp, 0x14
jmp 0x4bd04e
mov ebx, dword [esp + 0xb0]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd071
push 0
push dword [esp + 0xd8]
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd4d1
mov edx, dword [esp + 0xd4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4bd4d1
mov ebp, dword [esi + 0x6c]
mov edi, dword [esp + 0x28]
sub ebp, edi
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x3c], ebp
test edx, edx
je 0x4bd0d9
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x4bd0d1
mov eax, ebx
inc dword [esp + 0x78]
mov byte [eax + 0x14], 1
cmp dword [esp + 0x2c], 0
je 0x4bd140
cmp byte [esp + 0x13], 0
je 0x4bd140
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd10a
push 0
push 0
push dword [esp + 0xc4]
push 0x9f
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd140
mov edx, dword [esp + 0xbc]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x9f
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x64]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x18], eax
sete al
movzx eax, al
push eax
push 5
push 0
push dword [esp + 0x78]
push dword [esp + 0x64]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push dword [esp + 0x4c]
push dword [esp + 0xd8]
push ebx
call fcn.004bdc90
add esp, 0x2c
cmp dword [esp + 0x2c], 0
je 0x4bd1e8
cmp byte [esp + 0x13], 0
je 0x4bd1e8
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd1b2
push 0
push 0
push dword [esp + 0xc4]
push 0xa0
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd1e8
mov edx, dword [esp + 0xbc]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x38]
test edx, edx
je 0x4bd4c9
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd20e
push 0
push 1
push edx
push 0x52
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd241
mov edi, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x1c], edx
cmp dword [esi + 0x70], edx
jg 0x4bd264
push 0
push 0
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
mov dword [esp + 0x1c], eax
jmp 0x4bd297
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x4c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bd2b5
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd2be
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x24], 0
je 0x4bd326
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x6c]
dec edx
cmp dword [esi + 0x70], ecx
jg 0x4bd2f3
push 0
push dword [esp + 0x50]
push edx
push 0x32
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd326
mov ebp, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test ebp, ebp
jle 0x4bd491
mov edi, edi
mov ecx, edi
test edi, edi
jns 0x4bd33a
mov ecx, dword [esi + 0x6c]
dec ecx
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bd349
mov eax, 0x530d04
jmp 0x4bd352
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov ebp, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x6c], edx
cmp cl, 0x86
je 0x4bd470
movzx eax, cl
mov dword [esp + 0x58], eax
test byte [eax + 0x523a70], 1
je 0x4bd38c
mov ebp, dword [esp + 0x4c]
mov edx, dword [esi + 0x6c]
shr ecx, 8
movsx ebx, cl
mov dword [esp + 0x30], ebx
cmp dword [esi + 0x70], edx
jg 0x4bd3b5
push dword [esp + 0x6c]
push ebp
push dword [esp + 0x50]
push eax
push esi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bd3f4
mov ebx, dword [esp + 0x58]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4], bl
xor ebx, ebx
mov word [eax + ecx*4 + 2], bx
mov ebx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bd40e
cmp ebx, 0xfffffff4
je 0x4bd456
push edi
push ebx
push eax
call fcn.0047d1f0
add esp, 0xc
jmp 0x4bd456
test edx, edx
jns 0x4bd416
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
test ebx, ebx
jns 0x4bd44a
cmp byte [eax + 1], 0
jne 0x4bd44a
cmp ebx, 0xfffffffd
jne 0x4bd436
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
jmp 0x4bd456
test edi, edi
je 0x4bd456
mov dword [eax + 0x10], edi
mov byte [eax + 1], bl
cmp ebx, 0xfffffff4
jne 0x4bd456
inc dword [edi + 0xc]
jmp 0x4bd456
push ebx
push edi
push eax
push esi
call fcn.004ed1b0
add esp, 0x10
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bd470
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov ax, word [esp + 0x8a]
mov word [ecx + edx*4 - 0x12], ax
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
dec ebp
inc edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], edi
test ebp, ebp
jg 0x4bd330
mov ebx, dword [esp + 0xb0]
push dword [esp + 0x14]
push 2
push ebx
call fcn.004d0fb0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x4bd4ae
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bd4bd
mov eax, 0x530d04
jmp 0x4bd4c6
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov dword [esp + 0x58], 1
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x14]
jne 0x4bd561
mov edx, dword [esp + 0x70]
mov ecx, dword [esi + 0x6c]
inc edx
cmp dword [esi + 0x70], ecx
jg 0x4bd4fe
push 0
push edx
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd52d
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x84]
mov ecx, eax
mov edx, dword [esi + 0x6c]
test eax, eax
jns 0x4bd540
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bd552
mov eax, 0x530d04
mov dword [eax + 8], edx
jmp 0x4bd588
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4bd588
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x34]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bd57f
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd588
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esp + 0x20]
je 0x4bd5c0
mov eax, dword [esp + 0x68]
cmp eax, 1
jne 0x4bd5b5
test ecx, ecx
je 0x4bd5c0
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x4bd5c0
movzx eax, al
mov dword [ebx + eax*4 + 0x98], ecx
inc byte [ebx + 0x13]
jmp 0x4bd5c0
cmp eax, dword [ebx + 0x1c]
jle 0x4bd5c0
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], ecx
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x14]
inc dword [esp + 0x44]
mov ebp, dword [esp + 0x44]
mov edi, dword [edi + 0x14]
mov eax, edi
mov dword [esp + 0x14], edi
test edi, edi
jne 0x4bc560
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x4bd668
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd60d
push 0
push edx
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd63c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x4bd64d
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x4bd65c
mov eax, 0x530d04
jmp 0x4bd665
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp dword [esp + 0x78], 0
je 0x4bd950
mov ecx, dword [esi + 0x6c]
mov edx, dword [esp + 0x38]
cmp dword [esi + 0x70], ecx
jg 0x4bd693
push 0
push dword [esp + 0x50]
push edx
push 0x14
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd6c2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x14
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x60]
jne 0x4bd8e0
cmp byte [esp + 0x13], 0
je 0x4bd748
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd6fc
push dword [esp + 0xc8]
push edi
push dword [esp + 0xcc]
push 0x35
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd731
mov edx, dword [esp + 0xc4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4bd748
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd76c
push dword [esp + 0xc4]
push edi
push dword [esp + 0xc4]
push 0x20
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd7a1
mov edx, dword [esp + 0xbc]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [ebx + 0x28]
test ax, ax
js 0x4bd7d3
cwde
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
push dword [eax + ecx*4]
mov eax, dword [esp + 0xb4]
push dword [ebx]
push str._s._s
push dword [eax]
call fcn.004c2dc0
add esp, 0x10
mov ebp, 0x613
jmp 0x4bd7f0
push dword [ebx]
mov eax, dword [esp + 0xb4]
push str._s.rowid
push dword [eax]
call fcn.004c2dc0
add esp, 0xc
mov ebp, 0xa13
mov ecx, dword [esp + 0xb0]
mov ebx, eax
mov edi, dword [ecx + 8]
test edi, edi
jne 0x4bd823
cmp dword [ecx + 0x74], edi
jne 0x4bd811
mov eax, dword [ecx]
test byte [eax + 0x4c], 8
jne 0x4bd811
mov byte [ecx + 0x17], 1
push ecx
call fcn.004d54b0
mov ecx, dword [esp + 0xb4]
add esp, 4
mov edi, eax
mov eax, dword [ecx + 0x74]
test eax, eax
jne 0x4bd82c
mov eax, ecx
mov byte [eax + 0x15], 1
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x4bd84c
push 0
push 2
push ebp
push 0x44
push edi
call fcn.00490570
add esp, 0x14
mov edx, eax
jmp 0x4bd87f
mov esi, dword [esp + 0x5c]
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x44
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x4bd895
push ebx
push 0xfffffffffffffff9
push eax
call fcn.0047d1f0
add esp, 0xc
jmp 0x4bd8c7
test edx, edx
jns 0x4bd89d
mov edx, dword [edi + 0x6c]
dec edx
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
jne 0x4bd8ba
test ebx, ebx
je 0x4bd8c7
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
jmp 0x4bd8c7
push 0xfffffffffffffff9
push ebx
push eax
push edi
call fcn.004ed1b0
add esp, 0x10
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x4bd929
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x4bd929
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd8fa
push 0
push edi
push 0
push 0xb
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd929
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x4c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4bd947
push edx
push esi
push ecx
call fcn.0049f060
add esp, 0xc
jmp 0x4bd950
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov ebp, dword [esp + 0xb4]
test byte [ebp + 0x24], 0x80
jne 0x4bd9c9
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0xc4]
movsx edi, word [ebp + 0x2c]
inc ebx
mov edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4bd98f
push edx
push edi
push ebx
push 0x5b
push esi
call fcn.00490570
add esp, 0x14
jmp 0x4bd9b6
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x1b], 0
jne 0x4bd9c9
push 0
push ebp
push esi
call fcn.004d0430
add esp, 0xc
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0x9c
ret