Function at 0x40a057
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x485dac
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x49c33c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x240], esi
mov dword [esi + 0x1c4], 1
mov dword [esi + 0x1c0], 0
nop dword [eax]
push 0
call fcn.0044b147
add esp, 4
cmp dword [esi + 0x1d4], eax
jne 0x4093af
push 0x495440
call fcn.00406070
add esp, 4
mov ecx, esi
call fcn.00406ea0
add dword [esi + 0x1c0], 3
jmp 0x4093b6
mov ecx, esi
call fcn.00406ea0
add eax, 0xffffffd0
cmp eax, 0x36
ja case.0x4093c9.49
movzx eax, byte [eax + 0x40b208]
jmp dword [eax*4 + 0x40b1a4]
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x4093e7
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x4093f9
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
test eax, eax
je 0x409415
cmp eax, 0x3b
je case.0x4093c9.59
push str.table_name
jmp 0x40a1ac
push dword [esi + 0x1f0]
mov ecx, esi
call fcn.00426b60
mov ebx, eax
mov dword [ebp - 0x224], ebx
test ebx, ebx
jne 0x40943f
push str.No_such_table_in_database
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov ecx, esi
call fcn.00406ea0
cmp eax, 0x5f
je 0x409480
cmp eax, 0x3b
je case.0x4093c9.59
push 0x495564
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
jmp case.0x4093c9.59
push dword [esi + 0x38]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [ebx + 0x30]
mov edi, eax
mov dword [ebp - 0x234], edi
call fcn.0041a140
add esp, 4
mov dword [ebp - 0x220], eax
xor ebx, ebx
mov word [edi + 0xb4], 0x101
mov ecx, esi
mov dword [ebp - 0x238], ebx
call fcn.00406ea0
test eax, eax
je 0x4094f3
cmp eax, 0x3b
je 0x4098d1
push str.field_name
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
jmp 0x4098d1
mov dword [ebp - 4], 0
nop word [eax + eax]
push 0x10
call fcn.0042f87b
mov ecx, dword [ebp - 0x224]
mov edi, eax
add esp, 4
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x23c], edi
mov dword [edi], 0
mov dword [edi + 0xc], 0
push dword [esi + 0x1f0]
call fcn.00417bb0
mov ecx, esi
test eax, eax
jne 0x40954b
push str.No_such_field_in_the_table
call fcn.00406e20
jmp 0x4098ca
cmp dword [eax + 0x38], 8
jle 0x409560
push str.Field_can_not_be_updated
call fcn.00406e20
jmp 0x4098ca
mov dword [edi], ebx
mov ebx, edi
mov dword [edi + 4], eax
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x238], ebx
call fcn.00406ea0
cmp eax, 0x14
je 0x4095b2
cmp eax, 0x3b
je 0x4098ca
push 0x495248
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
jmp 0x4098ca
mov eax, dword [esi + 0x1c0]
xor edi, edi
mov dword [ebp - 0x248], eax
push dword [esi + 0x1d4]
mov dword [ebp - 0x244], edi
call fcn.0044bdc4
mov ebx, eax
add esp, 4
cmp ebx, 0xa
jne 0x4095ed
inc dword [esi + 0x1c4]
mov dword [esi + 0x1c0], 0
jmp 0x40961b
cmp ebx, 9
jne 0x409606
mov eax, dword [esi + 0x1c0]
add eax, 8
and eax, 0xfffffff8
mov dword [esi + 0x1c0], eax
jmp 0x40961b
inc dword [esi + 0x1c0]
cmp ebx, 0x3b
je 0x40967a
cmp ebx, 0x2c
je 0x40967a
cmp ebx, 0xffffffff
je 0x40967a
mov eax, dword [esi + 0x1d0]
inc edi
cmp edi, eax
jl 0x409666
add eax, eax
push eax
call fcn.0042f8b9
add esp, 4
mov dword [ebp - 0x23c], eax
push dword [esi + 0x1d0]
push dword [esi + 0x1cc]
push eax
call fcn.004323f0
mov eax, dword [ebp - 0x23c]
add esp, 0xc
mov dword [esi + 0x1cc], eax
mov eax, dword [esi + 0x1d0]
add eax, eax
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x1cc]
mov ecx, dword [ebp - 0x244]
mov byte [ecx + eax], bl
jmp 0x4095c0
mov eax, dword [esi + 0x1cc]
mov byte [edi + eax], 0
cmp ebx, 0xffffffff
jne 0x4096a0
push str.unexpected_end_of_input
mov ecx, esi
call fcn.00406e20
mov ebx, dword [ebp - 0x21c]
jmp 0x4098ca
push str.where
push dword [esi + 0x1cc]
call fcn.00432020
mov edi, eax
add esp, 8
test edi, edi
je 0x4096bc
mov byte [edi], 0
push dword [ebp - 0x248]
mov ecx, dword [ebp - 0x234]
push dword [esi + 0x1cc]
push dword [ebp - 0x224]
lea ecx, [ecx + 0x20]
call fcn.00419bc0
test eax, eax
jne 0x4096eb
mov ebx, dword [ebp - 0x21c]
jmp 0x4098ca
cmp byte [eax + 1], 3
jbe 0x409708
push str.Invalid_expression_type
mov ecx, esi
call fcn.00406e20
mov ebx, dword [ebp - 0x21c]
jmp 0x4098ca
mov ecx, dword [ebp - 0x22c]
mov dword [ecx + 8], eax
test edi, edi
jne 0x409766
cmp ebx, 0x2c
jne 0x409766
mov ecx, esi
call fcn.00406ea0
mov ebx, dword [ebp - 0x21c]
test eax, eax
je 0x409500
cmp eax, 0x3b
je 0x40975b
push str.field_name
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
mov ebx, dword [ebp - 0x21c]
jmp 0x4098ca
push dword [ebp - 0x220]
lea ecx, [ebp - 0x320]
push 1
push dword [ebp - 0x224]
call fcn.00401720
mov byte [ebp - 4], 1
call fcn.0041d6d0
test edi, edi
je 0x4097de
mov eax, dword [ebp - 0x248]
lea ebx, [esi + 0x20c]
sub eax, dword [esi + 0x1cc]
mov ecx, ebx
add eax, 5
add eax, edi
mov dword [esi + 0x250], eax
lea eax, [edi + 5]
push eax
call fcn.00406170
push ebx
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.00429ed0
cmp dword [ebx], 0
jne 0x4097ec
lea ecx, [ebp - 0x320]
call fcn.0041cc20
mov ebx, dword [ebp - 0x21c]
jmp 0x4098ca
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.00429e70
lea ecx, [ebp - 0x320]
call fcn.0041d190
mov ebx, dword [ebp - 0x21c]
test al, al
je 0x409898
nop word [eax + eax]
mov edx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [edx + 0x44]
mov eax, dword [ecx + eax*4]
add eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x314]
push eax
push dword [ebp - 0x2e4]
mov ecx, dword [ecx + 0x10]
call fcn.00417980
push ebx
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.00408dd0
test al, al
jne 0x40985a
lea ecx, [ebp - 0x320]
call fcn.0041cc20
jmp 0x4098ca
push dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x318]
push dword [ebp - 0x314]
mov byte [ebp - 0x2d1], 1
push dword [ebp - 0x2e8]
call fcn.0042abf0
lea ecx, [ebp - 0x320]
mov byte [ebp - 0x2d1], 0
call fcn.0041d210
test al, al
jne 0x409810
push dword [ebp - 0x2fc]
push str._n_t_d_records_updated_n
call fcn.00406070
add esp, 8
lea ecx, [ebp - 0x320]
call fcn.0041cc20
jmp 0x4098ca
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x20c]
call fcn.0040f050
test ebx, ebx
je 0x4098fe
mov edi, ebx
mov ebx, dword [ebx]
push dword [edi + 0xc]
call fcn.0042f876
add esp, 4
push 0x10
push edi
call fcn.0042f8ab
add esp, 8
test ebx, ebx
jne 0x4098e0
cmp byte [esi + 0x2ec], 0
jne 0x40990d
cmp byte [esi + 0x54], 0
jne 0x409914
mov ecx, esi
call fcn.00422c80
mov ecx, 0x49d244
call fcn.0041adb0
mov eax, dword [ebp - 0x234]
push dword [ebp - 0x220]
mov byte [eax + 0xb5], 0
call fcn.0041a130
add esp, 4
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x409958
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
mov byte [ebp - 0x226], 1
mov byte [ebp - 0x225], 0
call fcn.00406ea0
cmp eax, 0x3c
jne 0x40997a
xor al, al
mov byte [ebp - 0x226], al
jmp 0x4099e3
cmp eax, 0x45
jne 0x4099ea
mov ecx, esi
call fcn.00406ea0
cmp eax, 1
je 0x40999e
cmp eax, 0x3b
je case.0x4093c9.59
push 0x495914
jmp 0x40a1ac
mov ecx, esi
call fcn.00406ea0
cmp eax, 0x3c
je 0x4099bd
cmp eax, 0x3b
je case.0x4093c9.59
push 0x495918
jmp 0x40a1ac
mov ecx, esi
call fcn.00406ea0
cmp eax, 2
je 0x4099dc
cmp eax, 0x3b
je case.0x4093c9.59
push 0x49591c
jmp 0x40a1ac
mov byte [ebp - 0x225], 1
mov ecx, esi
call fcn.00406ea0
mov ecx, esi
cmp eax, 0x31
je 0x409a00
push str.from_keyword_expected
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
mov ecx, esi
test eax, eax
je 0x409a1a
push str.Table_name_expected
call fcn.00406e20
jmp case.0x4093c9.59
push dword [esi + 0x1f0]
call fcn.00426b60
mov ebx, eax
test ebx, ebx
je 0x40942e
push 0
push 0
push ebx
lea ecx, [ebp - 0x2a8]
call fcn.00401720
mov dword [ebp - 4], 3
mov eax, dword [esi + 0x1c0]
push dword [esi + 0x38]
mov dword [esi + 0x250], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov byte [ebp - 4], 4
mov ecx, esi
mov dword [ebp - 0x220], edi
mov word [edi + 0xb4], 0x101
call fcn.00408060
test al, al
je 0x40a671
push dword [esi + 0x1cc]
lea edi, [esi + 0x20c]
mov ecx, edi
call fcn.00406170
lea ecx, [ebp - 0x2a8]
call fcn.0041d6d0
push edi
lea eax, [ebp - 0x2a8]
mov ecx, esi
push eax
call fcn.00429ed0
cmp dword [edi], 0
jne 0x409adf
mov ecx, 0x49d244
call fcn.0041adb0
mov eax, dword [ebp - 0x220]
lea ecx, [ebp - 0x2a8]
mov byte [eax + 0xb5], 0
call fcn.0041cc20
mov dword [ebp - 4], 0xffffffff
jmp case.0x4093c9.59
cmp byte [ebp - 0x225], 0
je 0x409b00
push dword [ebp - 0x284]
push str._d_records_selected_n
call fcn.00406070
add esp, 8
jmp 0x409bf7
lea ecx, [ebp - 0x2a8]
call fcn.0041d190
test al, al
je 0x409bd1
mov edi, dword [ebx + 0x10]
nop word [eax + eax]
push dword [edi + 0x1c]
push 0x495964
call fcn.00406070
mov edi, dword [edi]
add esp, 8
cmp edi, dword [ebx + 0x10]
jne 0x409b20
mov bl, byte [ebp - 0x226]
test bl, bl
je 0x409b56
push dword [ebp - 0x270]
push str._n_x:__
call fcn.00406070
add esp, 8
jmp 0x409b63
push 0x495970
call fcn.00406070
add esp, 4
mov eax, dword [ebp - 0x270]
mov ecx, dword [esi + 0x44]
mov edx, dword [ebp - 0x29c]
mov ecx, dword [ecx + eax*4]
mov edx, dword [edx + 0x10]
add ecx, dword [esi + 0x3c]
call fcn.00408150
push 0x495240
call fcn.00406070
add esp, 4
lea ecx, [ebp - 0x2a8]
call fcn.0041d210
test al, al
je 0x409bbc
test bl, bl
je 0x409bb5
push dword [ebp - 0x270]
push str.__n_x:__
call fcn.00406070
add esp, 8
jmp 0x409b63
push 0x495980
jmp 0x409b5b
push dword [ebp - 0x284]
push str._n_t_d_records_selected_n
call fcn.00406070
add esp, 8
jmp 0x409bf7
push str.No_records_selected_n
push 2
call fcn.0044b147
add esp, 4
push eax
call fcn.00406050
add esp, 8
jmp 0x409bf7
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x220]
mov byte [eax + 0xb5], 0
cmp byte [esi + 0x54], 0
je 0x409c1a
cmp byte [esi + 0x2ec], 0
je 0x409c21
mov ecx, esi
call fcn.00422c80
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 4], 0xffffffff
call fcn.0041cc20
jmp case.0x4093c9.59
mov ecx, esi
call fcn.00406ea0
cmp eax, 9
je 0x409c72
cmp eax, 0x3b
je 0x40ac49
push str.database_name
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
jmp 0x40ac42
mov ecx, dword [esi + 0x1cc]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409c80
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0042f8b9
mov edx, dword [esi + 0x1cc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x224], ebx
mov edi, ebx
mov cl, byte [edx]
lea edi, [edi + 1]
inc edx
mov byte [edi - 1], cl
test cl, cl
jne 0x409ca5
mov ecx, esi
mov dword [ebp - 0x220], 0
call fcn.00406ea0
cmp eax, 9
jne 0x409d51
mov eax, dword [esi + 0x1cc]
mov dword [ebp - 0x220], eax
cmp byte [esi + 0x1d8], 0
je 0x409d29
mov ecx, esi
call fcn.00422430
mov edi, dword [esi + 0x204]
test edi, edi
je 0x409d1d
mov ebx, dword [edi + 4]
test edi, edi
je 0x409d0b
mov ecx, edi
call fcn.00415dc0
push 0x4c
push edi
call fcn.0042f8ab
add esp, 8
mov dword [esi + 0x204], ebx
mov edi, ebx
test ebx, ebx
jne 0x409cf2
mov ebx, dword [ebp - 0x224]
mov byte [esi + 0x1d8], 0
call fcn.00416db0
xorps xmm0, xmm0
push str.FASTDB_COMMIT_DELAY
movlpd qword [ebp - 0x230], xmm0
call fcn.004612b8
add esp, 4
test eax, eax
je 0x409d70
push eax
call fcn.0045ec4b
add esp, 4
cdq
jmp 0x409d7c
cmp eax, 0x61
je 0x409cd8
push ebx
call fcn.0042f876
add esp, 4
mov ecx, esi
push str.database_file_name_expected
call fcn.00406e20
jmp case.0x4093c9.59
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x230]
push edx
push eax
push 0
push 0xffffffffffffffff
push dword [ebp - 0x220]
mov ecx, esi
push ebx
call fcn.00428810
test al, al
jne 0x409dba
push str.Database_not_opened_n
push 2
call fcn.0044b147
add esp, 4
push eax
call fcn.00406050
add esp, 8
push ebx
call fcn.0042f876
add esp, 4
jmp 0x40ac49
mov eax, dword [esi + 0x44]
mov byte [esi + 0x1d8], 1
push 0x4c
mov edi, dword [eax + 4]
add edi, dword [esi + 0x3c]
call fcn.0042f87b
add esp, 4
mov dword [ebp - 0x2ac], eax
push edi
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.00415c30
push 1
push eax
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.00428300
mov ebx, dword [edi + 0x28]
test ebx, ebx
je 0x409e71
mov eax, dword [esi + 0x44]
mov edi, dword [eax + ebx*4]
add edi, dword [esi + 0x3c]
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0x22c], edi
test eax, eax
je 0x409e2c
nop word [eax + eax]
cmp dword [eax + 0xc], ebx
je 0x409e6a
mov eax, dword [eax + 4]
test eax, eax
jne 0x409e20
push 0x4c
call fcn.0042f87b
add esp, 4
mov dword [ebp - 0x2b0], eax
push edi
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.00415c30
mov edi, eax
mov dword [ebp - 4], 0xffffffff
push ebx
push edi
mov ecx, esi
call fcn.00428300
mov ecx, edi
call fcn.00417fd0
mov edi, dword [ebp - 0x22c]
mov ebx, dword [edi + 4]
test ebx, ebx
jne 0x409e01
mov eax, dword [esi + 0xdc]
mov ecx, esi
mov dword [esi + 0x208], eax
call fcn.00422de0
test al, al
jne 0x409e94
push str.Reference_to_undefined_table
mov ecx, esi
call fcn.00406e20
push str.FASTDB_BACKUP_NAME
call fcn.004612b8
mov edi, eax
add esp, 4
test edi, edi
je 0x409ef7
push str.FASTDB_BACKUP_PERIOD
call fcn.004612b8
add esp, 4
mov dword [ebp - 0x220], 0
mov ebx, 0x15180
test eax, eax
je 0x409ed9
push eax
call fcn.0045ec4b
cdq
add esp, 4
mov ebx, eax
mov dword [ebp - 0x220], edx
push ebx
push edi
push str.Schedule_backup_to_file__s_each__u_seconds_n
call fcn.00406070
add esp, 0xc
mov ecx, esi
push dword [ebp - 0x220]
push ebx
push edi
call fcn.00429df0
mov ebx, dword [ebp - 0x224]
push ebx
call fcn.0042f876
add esp, 4
jmp 0x40ac49
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x409f25
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x409f3a
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
mov eax, dword [esi + 0xd8]
cmp dword [eax + 0x3c], 1
je 0x409f55
push str.Can_not_perform_operation_with_active_appliations
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
mov ecx, esi
cmp eax, 0x3a
je 0x409fce
cmp eax, 0x4c
je 0x409fa4
cmp eax, 0x50
je 0x409f7a
push str.Expecting_table__hash_or_index_keyword
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00408c80
test eax, eax
je 0x40ac49
cmp dword [eax + 0x54], 0
mov ecx, esi
jne 0x409f99
push str.There_is_no_index_for_this_field
jmp 0x40ac44
push eax
call fcn.004237c0
jmp 0x40ac49
call fcn.00408c80
test eax, eax
je 0x40ac49
cmp dword [eax + 0x50], 0
mov ecx, esi
jne 0x409fc3
push str.This_field_is_not_hashed
jmp 0x40ac44
push eax
call fcn.00423750
jmp 0x40ac49
call fcn.00406ea0
test eax, eax
je 0x40a005
cmp eax, 0x3b
je 0x40ac49
push str.table_name
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
jmp 0x40ac42
push dword [esi + 0x1f0]
mov ecx, esi
call fcn.00426b60
mov edi, eax
mov ecx, esi
test edi, edi
jne 0x40a024
push str.No_such_table_in_database
jmp 0x40ac44
push edi
call fcn.00423830
cmp edi, dword [esi + 0x208]
jne 0x40a03b
mov eax, dword [edi + 4]
mov dword [esi + 0x208], eax
push edi
mov ecx, esi
call fcn.0042abb0
mov eax, dword [esi + 0x204]
mov dword [edi + 4], eax
mov dword [esi + 0x204], edi
jmp 0x40ac49
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a071
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
mov byte [ebp - 0x24c], 0
call fcn.00406ea0
cmp eax, 0x44
jne 0x40a090
mov ecx, esi
mov byte [ebp - 0x24c], 1
call fcn.00406ea0
cmp eax, 9
je 0x40a0a6
push str.Backup_file_name_expected
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
push dword [ebp - 0x24c]
mov ecx, esi
push dword [esi + 0x1cc]
call fcn.00421690
test al, al
jne 0x40a0cf
push str.Backup_failed_n
call fcn.00406070
add esp, 4
jmp case.0x4093c9.59
mov edi, dword [esi + 0x204]
test edi, edi
je 0x40a105
nop dword [eax]
mov ebx, dword [edi + 4]
test edi, edi
je 0x40a0f9
mov ecx, edi
call fcn.00415dc0
push 0x4c
push edi
call fcn.0042f8ab
add esp, 8
mov dword [esi + 0x204], ebx
mov edi, ebx
test ebx, ebx
jne 0x40a0e0
mov ecx, esi
call fcn.00422c80
mov eax, dword [esi + 0xdc]
mov dword [esi + 0x208], eax
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a137
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x40a14c
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
mov eax, dword [esi + 0xd8]
cmp dword [eax + 0x3c], 1
je 0x40a167
push str.Can_not_perform_operation_with_active_appliations_n
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
mov ecx, esi
cmp eax, 0x3a
je 0x40a235
cmp eax, 0x4c
je 0x40a1ff
cmp eax, 0x50
je 0x40a194
push str.Expecting_table__hash_or_index_keyword
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 0x58
je 0x40a1d3
cmp eax, 0x3b
je case.0x4093c9.59
push 0x495528
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
jmp case.0x4093c9.59
mov ecx, esi
call fcn.00408c80
test eax, eax
je 0x40ac49
cmp dword [eax + 0x54], 0
mov ecx, esi
je 0x40a1f4
push str.Index_already_exists
jmp 0x40ac44
push eax
call fcn.00422fe0
jmp 0x40ac49
call fcn.00406ea0
cmp eax, 0x58
jne 0x40a19e
mov ecx, esi
call fcn.00408c80
test eax, eax
je 0x40ac49
cmp dword [eax + 0x50], 0
mov ecx, esi
je 0x40a22a
push str.This_field_is_already_hashed
jmp 0x40ac44
push eax
call fcn.00422f30
jmp 0x40ac49
push 1
call fcn.00407490
jmp 0x40ac49
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a25b
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x40a270
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
mov eax, dword [esi + 0xd8]
cmp dword [eax + 0x3c], 1
je 0x40a28b
push str.Can_not_perform_operation_with_active_appliations_n
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
mov ecx, esi
cmp eax, 0x3a
je 0x40a2a6
push str.Expecting_table_keyword
call fcn.00406e20
jmp case.0x4093c9.59
push 0
call fcn.00407490
jmp 0x40ac49
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a2cc
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x40a2e1
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 0x38
je 0x40a319
cmp eax, 0x3b
je 0x40ac49
push str.into
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
jmp 0x40ac42
mov ecx, esi
call fcn.00406ea0
test eax, eax
jne 0x409fd7
push dword [esi + 0x1f0]
mov ecx, esi
call fcn.00426b60
mov ebx, eax
mov ecx, esi
mov dword [ebp - 0x21c], ebx
test ebx, ebx
jne 0x40a352
push str.No_such_table_in_database
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 0x65
je 0x40a36f
cmp eax, 0x3b
je case.0x4093c9.59
push str.values
jmp 0x40a1ac
push 1
mov ecx, esi
call fcn.00421ce0
mov byte [esi + 0x54], 1
nop dword [eax]
mov ecx, esi
call fcn.00406ea0
cmp eax, 1
jne 0x40a52f
lea eax, [ebp - 0x224]
mov dword [ebp - 0x224], 0
push eax
mov ecx, esi
call fcn.00408a40
mov edi, eax
test edi, edi
jle 0x40a4c7
push dword [ebx + 0x10]
mov edx, dword [ebx + 0x34]
mov ebx, dword [ebp - 0x224]
mov ecx, ebx
mov dword [ebp - 0x220], ebx
call fcn.004083d0
add esp, 4
mov dword [ebp - 0x22c], eax
mov ecx, esi
test eax, eax
jns 0x40a3e9
push str.Incompatible_types_in_insert_statement
call fcn.00406e20
jmp 0x40a4cd
mov edi, dword [ebp - 0x21c]
push 1
mov edi, dword [edi + 0xc]
call fcn.00421380
push dword [ebp - 0x22c]
mov ecx, esi
mov dword [ebp - 0x224], eax
push eax
push edi
call fcn.00421500
mov edi, dword [ebp - 0x21c]
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0x224]
push dword [edi + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, esi
push dword [edi + 0x34]
add eax, dword [esi + 0x3c]
push eax
push ebx
call fcn.00408580
mov ecx, dword [edi + 0xc]
mov eax, dword [esi + 0x44]
mov edi, dword [edi + 0x14]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x3c]
mov eax, dword [ecx + eax + 0x20]
mov dword [ebp - 0x22c], eax
test edi, edi
je 0x40a47f
mov ebx, dword [ebp - 0x224]
push eax
push dword [edi + 0x44]
push dword [edi + 0x58]
push dword [edi + 0x38]
push ebx
push dword [edi + 0x50]
push esi
call fcn.0040f580
mov edi, dword [edi + 0xc]
add esp, 0x1c
mov eax, dword [ebp - 0x22c]
test edi, edi
jne 0x40a455
mov ebx, dword [ebp - 0x220]
mov edi, dword [ebp - 0x21c]
mov edi, dword [edi + 0x18]
test edi, edi
je 0x40a4b8
mov ebx, dword [ebp - 0x224]
push dword [edi + 0x44]
push dword [edi + 0x64]
push dword [edi + 0x58]
push dword [edi + 0x38]
push ebx
push dword [edi + 0x54]
push esi
call fcn.0042bcf0
mov edi, dword [edi + 0x10]
add esp, 0x1c
test edi, edi
jne 0x40a492
mov ebx, dword [ebp - 0x220]
mov ecx, esi
call fcn.00406ea0
mov dword [ebp - 0x220], eax
jmp 0x40a4e7
mov ebx, dword [ebp - 0x224]
test edi, edi
jne 0x40a4dd
push str.Empty_fields_list
mov ecx, esi
call fcn.00406e20
mov dword [ebp - 0x220], 0x61
test ebx, ebx
je 0x40a500
nop dword [eax + eax]
mov edi, dword [ebx]
push ecx
mov ecx, ebx
call fcn.00406590
mov ebx, edi
test edi, edi
jne 0x40a4f0
mov eax, dword [ebp - 0x220]
cmp eax, 0x61
je 0x40ac49
mov ebx, dword [ebp - 0x21c]
cmp eax, 6
je 0x40a380
push str.__or___expected
mov ecx, esi
call fcn.00406e20
jmp 0x40a380
cmp eax, 0x3b
je 0x40ac49
push str.__.
jmp 0x409fe5
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a55c
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x40a571
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 0x31
je 0x40a58e
cmp eax, 0x3b
je 0x40ac49
push str.FROM
jmp 0x409fe5
mov ecx, esi
call fcn.00406ea0
test eax, eax
je 0x40a5c9
cmp eax, 0x3b
je 0x40a5c5
push str.table_name
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
xor al, al
jmp 0x40a5cb
mov al, 1
test al, al
je 0x40ac49
push dword [esi + 0x1f0]
mov ecx, esi
call fcn.00426b60
test eax, eax
jne 0x40a5f5
push str.No_such_table_in_database
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
push 0
push 1
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00401720
mov dword [ebp - 4], 8
push dword [esi + 0x38]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov byte [ebp - 4], 9
mov ecx, esi
mov dword [ebp - 0x22c], edi
mov word [edi + 0xb4], 0x101
call fcn.00408060
test al, al
je 0x40a671
push dword [esi + 0x1cc]
lea ebx, [esi + 0x20c]
mov ecx, ebx
call fcn.00406170
lea ecx, [ebp - 0x2a8]
call fcn.0041d6d0
push ebx
lea eax, [ebp - 0x2a8]
mov ecx, esi
push eax
call fcn.00429ed0
cmp dword [ebx], 0
jne 0x40a68f
mov ecx, 0x49d244
call fcn.0041adb0
lea ecx, [ebp - 0x2a8]
mov byte [edi + 0xb5], 0
call fcn.0041cc20
mov dword [ebp - 4], 0xffffffff
jmp case.0x4093c9.59
mov ebx, dword [ebp - 0x284]
lea ecx, [ebp - 0x2a8]
call fcn.0041d5f0
push ebx
push str._n_t_d_records_deleted_n
call fcn.00406070
add esp, 8
jmp 0x40a6c2
lea ecx, [ebp - 0x2a8]
mov byte [edi + 0xb5], 0
mov dword [ebp - 4], 0xffffffff
call fcn.0041cc20
jmp 0x40ac49
cmp byte [esi + 0x1d8], 0
jne 0x40a6fa
push str.Database_not_opened
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov edi, dword [esi + 0x204]
test edi, edi
je 0x40a105
mov ebx, dword [edi + 4]
test edi, edi
je 0x40a721
mov ecx, edi
call fcn.00415dc0
push 0x4c
push edi
call fcn.0042f8ab
add esp, 8
mov dword [esi + 0x204], ebx
mov edi, ebx
test ebx, ebx
jne 0x40a708
jmp 0x40a105
cmp byte [esi + 0x1d8], 0
jne 0x40a74c
push str.Database_not_opened
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 0x204], 0
je 0x40a773
mov eax, dword [esi + 0x204]
mov ecx, esi
push dword [eax + 0xc]
mov edi, dword [eax + 4]
push eax
call fcn.00428300
mov dword [esi + 0x204], edi
test edi, edi
jne 0x40a755
mov ecx, esi
call fcn.00429c30
mov edi, dword [esi + 0xdc]
cmp edi, dword [esi + 0x208]
je case.0x4093c9.59
nop dword [eax]
push edi
mov ecx, esi
call fcn.0042abb0
test edi, edi
je 0x40a7ae
mov ecx, edi
call fcn.00415dc0
push 0x4c
push edi
call fcn.0042f8ab
add esp, 8
mov edi, dword [esi + 0xdc]
cmp edi, dword [esi + 0x208]
jne 0x40a790
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
jne 0x40a7db
push str.Database_not_opened
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov edi, dword [esi + 0x40]
mov ecx, edi
mov edx, dword [esi + 0xd8]
mov eax, dword [edi + 4]
lea eax, [eax + eax*2]
shl eax, 3
sub ecx, eax
mov eax, dword [edx + 0x18]
add eax, dword [edx + 0x14]
push eax
push dword [edx + 0x10]
mov eax, dword [edi]
push dword [edx + 0xc]
shr eax, 0xa
push dword [edx + 8]
push dword [edx + 0x3c]
push dword [ecx + 0x3c]
push dword [ecx + 0x34]
push eax
push dword [edi + 0x48]
push dword [edi + 0x44]
push 0x57
push 2
push str.FastDB___version__:___d._02d_nDatabase_version__:___d._02d_nDatabase_file_size:__lu_Kb_nObject_index_size_:__lu_handles_nUsed_part_of_index:__lu_handles_nNumber_of_users___:__d_nNumber_of_readers_:__d_nNumber_of_writers_:__d_nNumber_of_blocked_readers_:__d_nNumber_of_blocked_writers_:__d_n
call fcn.00406070
add esp, 0x34
push str._nTABLES:_n
call fcn.00406070
add esp, 4
push str.OID_______FixedSize___Fields__Columns__TableName_n
call fcn.00406070
add esp, 4
push str.__________________________________________________________n
call fcn.00406070
mov edi, dword [esi + 0xdc]
add esp, 4
test edi, edi
je case.0x4093c9.59
nop dword [eax]
push dword [edi + 8]
push dword [edi + 0x3c]
push dword [edi + 0x38]
push dword [edi + 0x34]
push dword [edi + 0xc]
push str.0x_06x___8d__8d__8d____s_n
call fcn.00406070
mov edi, dword [edi + 4]
add esp, 0x18
test edi, edi
jne 0x40a860
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a8a2
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
test eax, eax
je 0x40a8be
cmp eax, 0x3b
je case.0x4093c9.59
push str.table_name
jmp 0x40a1ac
push dword [esi + 0x1f0]
mov ecx, esi
call fcn.00426b60
mov ebx, eax
test ebx, ebx
jne 0x40a8e2
push str.No_such_table_in_database
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
push dword [ebx + 8]
push dword [ebx + 0xc]
push str._nOID0x_06x__TableName_s_n
call fcn.00406070
add esp, 0xc
push str.FieldNo__FieldType________RefTableName_____FieldName________InverseFieldName_n
call fcn.00406070
add esp, 4
push str._____________________________________________________________________________n
call fcn.00406070
mov edi, dword [ebx + 0x10]
add esp, 4
mov ebx, dword [ebx + 0x3c]
sub ebx, 1
js case.0x4093c9.59
nop
mov eax, dword [edi + 0x34]
mov edx, str._null_
mov ecx, dword [edi + 0x38]
test eax, eax
cmovne edx, eax
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x40a94b
cmp ecx, 9
jne 0x40a946
mov eax, dword [edi + 0x4c]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x40a94b
mov eax, str._null_
push edx
push dword [edi + 0x1c]
push eax
push dword [ecx*4 + 0x4951d8]
push dword [edi + 0x18]
push str._6d_____16s___16s___16s__s_n
call fcn.00406070
mov edi, dword [edi]
add esp, 0x18
sub ebx, 1
jns 0x40a920
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40a98d
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 9
je 0x40a9aa
cmp eax, 0x3b
je case.0x4093c9.59
push str.xml_file_name
jmp 0x40a1ac
mov edi, dword [esi + 0x1cc]
mov ecx, 0x495eb4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40a9d7
test dl, dl
je 0x40a9d3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40a9d7
add eax, 2
add ecx, 2
test dl, dl
jne 0x40a9b7
xor eax, eax
jmp 0x40a9dc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40a9f4
push 1
call fcn.0044b147
mov edi, eax
add esp, 4
mov dword [ebp - 0x21c], edi
jmp 0x40aa0a
push 0x495eb8
push edi
call fcn.0044afd5
add esp, 8
mov dword [ebp - 0x21c], eax
mov edi, eax
test edi, edi
je 0x40ab68
push str.__xml_version_1.0__encoding_UTF_8____n_database__n
push edi
call fcn.00406050
mov ebx, dword [esi + 0xdc]
add esp, 8
test ebx, ebx
je 0x40ab4f
nop
mov ecx, dword [ebx + 0xc]
cmp ecx, 1
je 0x40ab3e
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x220], 0
mov eax, dword [eax + ecx*4]
add eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x22c], eax
test ecx, ecx
je 0x40ab29
mov dword [ebp - 0x234], 0x64
nop dword [eax]
mov eax, dword [esi + 0x44]
push ecx
push dword [ebx + 8]
mov edi, dword [eax + ecx*4]
add edi, dword [esi + 0x3c]
push str.___s_id__d___n
push dword [ebp - 0x21c]
call fcn.00406050
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebx + 0x10]
push 2
push edi
call fcn.0040b390
push dword [ebx + 8]
push str.____s__n
push dword [ebp - 0x21c]
call fcn.00406050
mov ecx, dword [edi + 4]
add esp, 0x24
mov edi, dword [ebp - 0x234]
mov eax, edi
cdq
idiv dword [ebp - 0x22c]
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x23c], eax
cmp eax, dword [ebp - 0x220]
je 0x40ab18
push eax
push dword [ebx + 8]
push str.Exporting_table__s:__d___r
push 2
call fcn.0044b147
add esp, 4
push eax
call fcn.00406050
push 2
call fcn.0044b147
add esp, 0x14
push eax
call fcn.0044b7dc
mov eax, dword [ebp - 0x23c]
add esp, 4
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x220], eax
add edi, 0x64
mov dword [ebp - 0x234], edi
test ecx, ecx
jne 0x40aa70
push 2
call fcn.0044b147
add esp, 4
push eax
push 0xa
call fcn.0044a86c
add esp, 8
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x40aa30
mov edi, dword [ebp - 0x21c]
push str.__database__n
push edi
call fcn.00406050
push edi
call fcn.0044b8b1
add esp, 0xc
jmp case.0x4093c9.59
push str.Failed_to_open_output_file
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
mov ecx, esi
jne 0x40ab93
push str.Database_not_opened
call fcn.00406e20
jmp case.0x4093c9.59
cmp dword [esi + 8], 0
jne 0x40aba8
push str.Operation_is_not_possible_in_read_only_mode
call fcn.00406e20
jmp case.0x4093c9.59
call fcn.00406ea0
cmp eax, 9
je 0x40abc5
cmp eax, 0x3b
je 0x40ac49
push str.xml_file_name
jmp 0x409fe5
mov edi, dword [esi + 0x1cc]
mov ecx, 0x495eb4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40abf2
test dl, dl
je 0x40abee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40abf2
add eax, 2
add ecx, 2
test dl, dl
jne 0x40abd2
xor eax, eax
jmp 0x40abf7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ac06
push eax
call fcn.0044b147
add esp, 4
jmp 0x40ac14
push 0x495ed8
push edi
call fcn.0044afd5
add esp, 8
mov edi, eax
test edi, edi
je 0x40ac3d
push edi
mov ecx, esi
call fcn.0040c760
test al, al
jne 0x40ac32
push str.Import_from_XML_file_failed:_incorrect_file_format
mov ecx, esi
call fcn.00406e20
push edi
call fcn.0044b8b1
add esp, 4
jmp 0x40ac49
push str.Failed_to_open_input_file
mov ecx, esi
call fcn.00406e20
cmp byte [esi + 0x2ec], 0
je case.0x4093c9.59
mov ecx, esi
call fcn.00422c80
jmp case.0x4093c9.59
mov ecx, esi
call fcn.00406ea0
sub eax, 0x57
je 0x40ac90
sub eax, 1
je 0x40ac84
push str.ON_or_OFF_expected
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov byte [esi + 0x2ec], 1
jmp case.0x4093c9.59
mov byte [esi + 0x2ec], 0
jmp case.0x4093c9.59
push str.SubSQL_commands:_n_n______________open_database_name___database_file_name_____n______________select____from__table_name__where__condition____n______________update__table_name__set__field_name____expression_____field_name____expression__where__condition____n______________create_table__table_name____field_name___field_type_____field_name___field_type______n______________alter_table__table_name____field_name___field_type_____field_name___field_type______n______________delete_from__table_name__n______________drop_table__table_name__n______________drop_index__table_name__.__field_name____n______________create_index_on__table_name__.__field_name____n______________drop_hash__table_name__.__field_name___n______________create_hash_on__table_name__.__field_name_field____n______________insert_into__table_name__values____value____value______n______________backup__compactify__file_name_n______________start_server_URL_number_of_threads_n______________stop_server_URL_n______________start_http_server_URL_n______________stop_http_server_n______________describe__table_name__n______________import_xml_file_name_n______________export_xml_file_name_n______________show_n______________commit_n______________rollback_n______________autocommit__onoff__n______________exit_n______________help_n_n
push 2
call fcn.0044b147
add esp, 4
push eax
call fcn.00406050
add esp, 8
jmp case.0x4093c9.59
cmp byte [esi + 0x1d8], 0
jne 0x40acd3
push str.Database_not_opened
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov ecx, esi
call fcn.00422c80
mov eax, dword [esi + 0xdc]
mov ecx, esi
mov dword [esi + 0x208], eax
call fcn.00406ea0
cmp eax, 0x4e
jne 0x40ae0c
mov ecx, esi
call fcn.00406ea0
cmp eax, 0x5e
je 0x40ad15
cmp eax, 0x3b
je case.0x4093c9.59
push str.server
jmp 0x40a1ac
mov ecx, esi
call fcn.00406ea0
cmp eax, 9
je 0x40ad34
cmp eax, 0x3b
je case.0x4093c9.59
push str.HTTP_server_URL
jmp 0x40a1ac
cmp byte [esi + 0x2f8], 0
mov ebx, dword [esi + 0x1cc]
je 0x40ad54
push str.HTTP_server_already_started
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
push 0x1e8
call fcn.0042f87b
mov edi, eax
add esp, 4
mov dword [ebp - 0x2b4], edi
push 0x49cca0
push 3
push esi
mov ecx, edi
mov dword [ebp - 4], 0xb
call fcn.0042d430
push 5
push 2
mov dword [edi], vtable.HTTPapi.0
mov ecx, edi
mov byte [edi + 0x1e0], 0
mov dword [edi + 0x1d8], 0xffffffff
mov dword [edi + 0x1dc], 0xffffffff
mov dword [ebp - 4], 0xffffffff
push ebx
mov dword [esi + 0x2f4], edi
call fcn.0042e0d0
test al, al
jne 0x40ade1
push 0x1e8
push dword [esi + 0x2f4]
call fcn.0042f8ab
add esp, 8
mov ecx, esi
push str.Failed_to_open_HTTP_session
call fcn.00406e20
jmp case.0x4093c9.59
lea eax, [ebp - 0x2b8]
mov byte [esi + 0x2f8], 1
push eax
push 0
push esi
push 0x40e360
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x2f0], eax
jmp case.0x4093c9.59
cmp eax, 0x5e
jne 0x40ae49
mov ecx, esi
call fcn.00406ea0
cmp eax, 9
je 0x40ae5a
cmp eax, 0x3b
je 0x40ae49
push str.server_URL
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
push str.Token_server_expected
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov ebx, dword [0x49f5fc]
mov edi, dword [esi + 0x1cc]
test ebx, ebx
je 0x40aea8
nop word [eax + eax]
mov ecx, dword [ebx + 4]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40ae95
test dl, dl
je 0x40ae91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40ae95
add eax, 2
add ecx, 2
test dl, dl
jne 0x40ae75
xor eax, eax
jmp 0x40ae9a
sbb eax, eax
or eax, 1
test eax, eax
je 0x40af33
mov ebx, dword [ebx]
test ebx, ebx
jne 0x40ae70
xor ebx, ebx
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x40aeb0
sub edi, ecx
lea eax, [edi + 1]
push eax
call fcn.0042f8b9
mov edx, dword [esi + 0x1cc]
add esp, 4
mov dword [ebp - 0x224], eax
mov edi, eax
mov cl, byte [edx]
lea edi, [edi + 1]
inc edx
mov byte [edi - 1], cl
test cl, cl
jne 0x40aed3
mov ecx, esi
call fcn.00406ea0
cmp eax, 8
je 0x40afbe
cmp eax, 0x3b
je 0x40af1c
push str.number_of_threads
lea eax, [ebp - 0x118]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.00406e20
mov edi, dword [ebp - 0x224]
push edi
call fcn.0042f876
add esp, 4
test ebx, ebx
je case.0x4093c9.59
mov edi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push 0
push 0xf4240
push 0
push 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov word [ebx + 0x25], 0
mov byte [ebx + 0x24], 0
call edi
push 0
push 0xf4240
push 0
push 0
mov dword [ebx + 0x44], eax
call edi
mov dword [ebx + 0x48], eax
cmp dword [ebx + 0x4c], 0
je 0x40af93
lea eax, [ebp - 0x2c0]
push eax
push 0
push ebx
push 0x402610
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 0x58], eax
cmp dword [ebx + 0x50], 0
je case.0x4093c9.59
lea eax, [ebp - 0x2c4]
push eax
push 0
push ebx
push 0x4025f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 0x54], eax
jmp case.0x4093c9.59
push 0x60
call fcn.0042f87b
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 4], 0xc
mov ecx, eax
push dword [esi + 0x1e0]
mov edi, dword [ebp - 0x224]
push edi
push esi
call fcn.00402630
push edi
push str.Server_started_for_URL__s_n
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
call fcn.00406070
add esp, 8
jmp 0x40af22
mov ecx, esi
call fcn.00406ea0
cmp eax, 0x4e
jne 0x40b07e
mov ecx, esi
call fcn.00406ea0
cmp eax, 0x5e
je 0x40b02e
cmp eax, 0x3b
je case.0x4093c9.59
push str.server
jmp 0x40a1ac
mov ecx, esi
call fcn.00406ea0
cmp eax, 9
je 0x40b04d
cmp eax, 0x3b
je case.0x4093c9.59
push str.HTTP_server_URL
jmp 0x40a1ac
cmp byte [esi + 0x2f8], 0
jne 0x40b067
push str.HTTP_server_was_not_started
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59
mov ecx, dword [esi + 0x2f4]
mov byte [esi + 0x2f8], 0
call fcn.0042db40
jmp case.0x4093c9.59
cmp eax, 0x5e
jne 0x40ae49
mov ecx, esi
call fcn.00406ea0
cmp eax, 9
je 0x40b0c8
cmp eax, 0x3b
je case.0x4093c9.59
push str.server_URL
lea eax, [ebp - 0x218]
push str.Token__s_expected
push eax
call fcn.00406100
add esp, 0xc
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.00406e20
jmp case.0x4093c9.59
mov edi, dword [0x49f5fc]
mov ebx, dword [esi + 0x1cc]
test edi, edi
je 0x40b10f
mov ecx, dword [edi + 4]
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b100
test dl, dl
je 0x40b0fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b100
add eax, 2
add ecx, 2
test dl, dl
jne 0x40b0e0
xor eax, eax
jmp 0x40b105
sbb eax, eax
or eax, 1
test eax, eax
je 0x40b12d
mov edi, dword [edi]
test edi, edi
jne 0x40b0d8
push ebx
push str.No_server_was_started_for_URL__s_n
push 2
call fcn.0044b147
add esp, 4
push eax
call fcn.00406050
add esp, 0xc
jmp case.0x4093c9.59
mov ecx, edi
call fcn.00402a70
push dword [esi + 0x1cc]
push str.Server_stopped_for_URL__s_n
call fcn.00406070
add esp, 8
jmp case.0x4093c9.59
push 0xa
call fcn.0044a974
add esp, 4
jmp case.0x4093c9.59
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042f865
mov esp, ebp
pop ebp
ret
push 0x57
push 2
push str.FastDB_version__d._02d_n
call fcn.00406070
add esp, 0xc
jmp case.0x4093c9.59
mov al, 1
jmp 0x40b15d
push str.Unexpected_token
mov ecx, esi
call fcn.00406e20
jmp case.0x4093c9.59