Function at 0x436580
Capabilities:
Reference sql statements

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46a976
push eax
mov dword fs:[0], esp
mov eax, dword [0x476ecf4]
sub esp, 0x8dc
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
je 0x4365b1
xor eax, eax
jmp 0x436ecf
push 0x46054d8
mov dword [esp + 0x50], 1
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x8fc]
lea eax, [esi + esi*2]
lea eax, [eax + eax*8]
lea eax, [esi + eax*8]
lea ecx, [eax + eax*2]
lea eax, [esi + ecx*2]
lea ecx, [esp + 0xec]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x900]
shl edx, 5
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*2 + 0x654a14]
push ebx
push 0x476ed38
push str.SELECT_dtstatustamper_FROM_GATD__sDEVICE_WHERE_desdevice_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0xec]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebp, eax
xor eax, eax
cmp ebp, edi
sete al
cmp eax, edi
mov dword [0x476ecf4], eax
jne 0x436989
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x436989
mov al, byte [ebp + 4]
test al, al
jne 0x436932
mov eax, dword [ebp]
lea ecx, [esp + 0xbc]
push 1
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0xcc]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x8fc], edi
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x80]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xcc]
call fcn.00445280
lea ecx, [esp + 0xbc]
mov dword [esp + 0x8f4], 0xffffffff
call fcn.00445280
lea ecx, [esp + 0x80]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov esi, 0x514f20
lea eax, [esp + 0x80]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43671d
test cl, cl
je 0x436719
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43671d
add eax, 2
add esi, 2
test cl, cl
jne 0x4366f9
xor eax, eax
jmp 0x436722
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x436837
or ecx, 0xffffffff
mov edi, 0x4857b8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x2c]
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x46f4b4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x46f4b0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x44]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4368f2
lea ecx, [esp + 0x80]
push 2
lea edx, [esp + 0x30]
push ecx
push edx
call fcn.0045eb70
lea eax, [esp + 0x8e]
push 2
lea ecx, [esp + 0x58]
push eax
push ecx
mov byte [esp + 0x46], 0
call fcn.0045eb70
lea edx, [esp + 0x9d]
push 2
lea eax, [esp + 0x5c]
push edx
push eax
mov byte [esp + 0x6e], 0
call fcn.0045eb70
lea ecx, [esp + 0xac]
push 2
lea edx, [esp + 0x48]
push ecx
push edx
mov byte [esp + 0x72], 0
call fcn.0045eb70
lea eax, [esp + 0xbb]
push 2
lea ecx, [esp + 0x6c]
push eax
push ecx
mov byte [esp + 0x5e], 0
call fcn.0045eb70
lea edx, [esp + 0xca]
push 2
lea eax, [esp + 0x84]
push edx
push eax
mov byte [esp + 0x82], 0
call fcn.0045eb70
add esp, 0x48
lea ecx, [esp + 0x91]
lea edx, [esp + 0x30]
mov byte [esp + 0x46], 0
push 2
push ecx
push edx
call fcn.0045eb70
add esp, 0xc
mov byte [esp + 0x32], 0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x40]
push edx
push eax
lea ecx, [esp + 0x9c]
push str._s_s_s_s_s_s_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x920]
add esp, 0x24
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x436947
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
mov eax, dword [esp + 0x908]
test eax, eax
jne 0x43699b
mov edi, dword [esp + 0x90c]
lea ebp, [esp + 0x80]
mov cl, byte [edi]
mov dl, byte [ebp]
mov al, cl
cmp cl, dl
jne 0x436992
test al, al
je 0x436985
mov dl, byte [edi + 1]
mov cl, byte [ebp + 1]
mov al, dl
cmp dl, cl
jne 0x436992
add edi, 2
add ebp, 2
test al, al
jne 0x436960
xor eax, eax
jmp 0x436997
mov dword [esp + 0x4c], edi
jmp 0x436a14
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x436a14
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x910]
mov edx, dword [esp + 0x904]
push ebx
push ecx
push edx
push 0x476ed38
lea eax, [esp + 0xfc]
push str.UPDATE_GATD__sDEVICE_SET_statustamper_d_dtstatustamper_s_WHERE_desdevice_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
lea edx, [esp + 0xfc]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x10]
xor ecx, ecx
cmp eax, 1
sete cl
mov eax, ecx
mov ecx, dword [0x516f90]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x436a0f
mov edx, dword [ecx]
call dword [edx + 0x18]
jmp 0x436a14
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], 0
test eax, eax
je 0x436e56
push ebx
lea ecx, [esp + 0xf0]
push str.SELECT_id_dataoratamper_FROM_Tab_Dispositivi_WHERE_descrizione_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0xec]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebp, eax
test ebp, ebp
je 0x436d63
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x436d63
mov al, byte [ebp + 4]
test al, al
jne 0x436d52
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xdc]
push 2
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0xac]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x8fc], 1
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x54]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xac]
call fcn.00445280
lea ecx, [esp + 0xdc]
mov dword [esp + 0x8f4], 0xffffffff
call fcn.00445280
lea ecx, [esp + 0x54]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov esi, 0x514f20
lea eax, [esp + 0x54]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x436b52
test cl, cl
je 0x436b4e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x436b52
add eax, 2
add esi, 2
test cl, cl
jne 0x436b2a
xor eax, eax
jmp 0x436b57
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x436c6c
or ecx, 0xffffffff
mov edi, 0x4857b8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1c]
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x46f4b4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x46f4b0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x34]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4b4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x436d15
lea ecx, [esp + 0x54]
push 2
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.0045eb70
lea eax, [esp + 0x62]
push 2
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x36], 0
call fcn.0045eb70
lea edx, [esp + 0x71]
push 2
lea eax, [esp + 0x30]
push edx
push eax
mov byte [esp + 0x3e], 0
call fcn.0045eb70
lea ecx, [esp + 0x80]
push 2
lea edx, [esp + 0x50]
push ecx
push edx
mov byte [esp + 0x46], 0
call fcn.0045eb70
lea eax, [esp + 0x8f]
push 2
lea ecx, [esp + 0x58]
push eax
push ecx
mov byte [esp + 0x66], 0
call fcn.0045eb70
lea edx, [esp + 0x9e]
push 2
lea eax, [esp + 0x74]
push edx
push eax
mov byte [esp + 0x6e], 0
call fcn.0045eb70
add esp, 0x48
lea ecx, [esp + 0x65]
lea edx, [esp + 0x3c]
mov byte [esp + 0x36], 0
push 2
push ecx
push edx
call fcn.0045eb70
add esp, 0xc
mov byte [esp + 0x3e], 0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0x70]
push str._s_s_s_s_s_s_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x920]
add esp, 0x24
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x436e56
mov ebp, dword [esp + 0x908]
test ebp, ebp
jne 0x436dba
mov eax, dword [esp + 0x90c]
lea edi, [esp + 0x54]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x436dad
test cl, cl
je 0x436da9
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x436dad
add eax, 2
add edi, 2
test cl, cl
jne 0x436d85
xor eax, eax
jmp 0x436db2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x436e56
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x910]
mov eax, dword [esp + 0x904]
push ecx
push edx
push eax
lea ecx, [esp + 0xf8]
push str.UPDATE_Tab_Dispositivi_SET_statotamper_d_dataoratamper_s_WHERE_id_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
lea edx, [esp + 0xfc]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x10]
test ebp, ebp
mov edi, eax
je 0x436e3f
mov eax, dword [esp + 0x904]
test eax, eax
mov eax, 0x48603c
jne 0x436e29
mov eax, 0x47481c
mov ecx, dword [esp + 0x900]
push 0
push 1
push eax
push ecx
push esi
call fcn.0042f970
add esp, 0x14
mov ecx, dword [0x516f90]
cmp edi, 1
jne 0x436e51
mov edx, dword [ecx]
call dword [edx + 0x18]
jmp 0x436e56
mov eax, dword [ecx]
call dword [eax + 0x1c]
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x46023d0]
mov ebx, 1
cmp eax, ebx
jl 0x436ecb
mov edx, dword [esp + 0x900]
lea eax, [esi + esi*4 + 0x1388]
mov ebp, 0x5ed938
mov edi, 0x523964
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
lea esi, [esi + esi*4]
shl esi, 1
cmp dword [edi], 0
jne 0x436eb5
mov eax, dword [0x523aac]
push esi
push 0x45d4c0
push eax
push ebp
mov dword [edi], 1
call fcn.0045a6d0
add esp, 0x10
mov eax, dword [0x46023d0]
inc ebx
add edi, 0x14
add esi, 0x989680
add ebp, 0x58
cmp ebx, eax
jle 0x436e95
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x8ec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x8e8
ret