Function at 0x42f970
Capabilities:
Check for time delay via gettickcount
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x20c8
call fcn.0045ec70
mov eax, dword [0x476ecf4]
push ebx
push ebp
push esi
test eax, eax
push edi
je 0x42f994
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c8
ret
lea eax, [esp + 0x84]
push 0
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x48]
push ecx
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.004265e0
add esp, 0x24
test eax, eax
jne 0x42f9d8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c8
ret
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x20e8]
mov ebx, dword [esp + 0x20dc]
test eax, eax
mov dword [esp + 0x48], 0
je 0x42fa32
lea eax, [ebx + ebx*2]
mov ecx, dword [esp + 0x20e0]
mov ebp, ebx
mov dword [esp + 0x14], ecx
lea edx, [eax + eax*8]
mov dword [esp + 0x40], ebp
lea eax, [ebx + edx*8]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*2]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
shl eax, 2
mov edx, dword [eax + 0x674198]
mov dword [esp + 0x50], edx
jmp 0x42fa8a
lea edx, [ebx + ebx*8]
mov edi, dword [esp + 0x20e0]
lea eax, [ebx + edx*2]
lea eax, [eax + eax*8]
lea ecx, [ebx + eax*2]
lea ecx, [edi + ecx*2]
shl ecx, 2
mov edx, dword [ecx + 0x4605d40]
mov esi, dword [ecx + 0x4605d60]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], esi
lea eax, [edx + edx*2]
shl eax, 3
sub eax, edx
lea eax, [eax + eax*4]
shl eax, 1
sub eax, edx
lea eax, [esi + eax*2]
shl eax, 2
mov ebp, dword [eax + 0x45edb68]
mov eax, dword [eax + 0x45edbe4]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x14], eax
jmp 0x42fac8
mov edx, dword [eax + 0x674218]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x674a58]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x6750b8]
lea eax, [ebx + ebx*2]
mov dword [esp + 0x10], edx
lea edx, [eax + eax*8]
lea eax, [ebx + edx*8]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*2]
lea edx, [eax + eax*4]
shl edx, 4
add edx, ecx
lea edi, [edx*2 + 0x674298]
jmp 0x42faf2
mov eax, dword [ecx + 0x4605dd0]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x4605f88]
mov dword [esp + 0x10], eax
lea eax, [ebx + ebx*8]
lea eax, [ebx + eax*2]
lea ecx, [eax + eax*8]
lea edx, [ebx + ecx*2]
lea eax, [edi + edx*4]
lea edi, [eax*2 + 0x4605d80]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x56]
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]
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov eax, dword [esp + 0x20e4]
movsx eax, byte [eax]
add eax, 0xffffffd3
cmp eax, 0x24
ja case.0x42fb38.53
xor ecx, ecx
mov cl, byte [eax + 0x430780]
jmp dword [ecx*4 + 0x43075c]
lea edx, [esp + 0x58]
mov edi, 0x4823c0
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.PORTA_APERTA
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.PORTA_SBLOCCATA
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.FUORI_LINEA
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.VARCO_VIOLATO
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.ALLARME
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.NORMALE_APERTA
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, str.TAMPER_OPEN
jmp 0x42fba0
lea edx, [esp + 0x58]
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
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
lea eax, [ebp + ebp*2]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*8]
lea edi, [esp + 0x58]
lea eax, [ebp + ecx*8]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*2]
lea eax, [ebp + edx*2]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*2]
or ecx, 0xffffffff
shl edx, 4
xor eax, eax
add edx, 0x6742d8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x4c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x48]
push eax
lea edx, [esp + 0x40]
push ecx
lea eax, [esp + 0x34]
push edx
push eax
lea ecx, [esp + 0xd0]
push str._s_s__s__s__s:_s:_s___02d___s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esp + 0x2110]
add esp, 0x2c
cmp byte [edx], 0x2d
jne 0x42fc71
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42fc71
mov eax, dword [esp + 0x20ec]
test eax, eax
jne 0x42fc71
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4303bc
lea eax, [ebp + ebp*2]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [eax + eax*8]
lea eax, [ebp + eax*8]
lea ecx, [eax + eax*2]
lea eax, [ebp + ecx*2]
lea ecx, [esp + 0x84]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
shl edx, 5
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*2 + 0x654a14]
mov edx, dword [esp + 0x20e4]
push esi
push ecx
push edx
push 0x476ed38
lea eax, [esp + 0xe8]
push str.UPDATE_GATD__sDEVICE_SET_statusdevice_s__dtstatusdevice_s_WHERE_desdevice_s
push eax
mov dword [esp + 0x88], esi
call edi
add esp, 8
lea edx, [esp + 0xe8]
mov ecx, esp
mov dword [esp + 0x48], 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
test eax, eax
mov dword [esp + 0x10], eax
je 0x430735
lea eax, [ebp + ebp*2]
lea edx, [eax + eax*8]
lea eax, [ebp + edx*8]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*2]
lea eax, [ebp + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
xor ecx, ecx
shl eax, 2
mov dword [esp + 0x38], eax
cmp dword [eax + 0x67284c], ecx
je 0x430341
push esi
lea eax, [esp + 0xdc]
push str.SELECT_id_idstatodispositivokcom_dtstart_dtend_flexcluded_FROM_Tab_Dispositivi_WHERE_descrizione_s
push eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], ecx
call edi
add esp, 0xc
lea edx, [esp + 0xd8]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
je 0x4303a5
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x24]
test al, al
jne 0x4303a5
mov al, byte [ebx + 4]
test al, al
jne 0x4300d2
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebx]
push 2
mov ecx, ebx
mov dword [esp + 0x70], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [ebx]
push 3
push ecx
mov ecx, ebx
call dword [eax + 0x14]
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 + 0x8d8]
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 + 0x74]
call fcn.00445280
mov ebp, dword [sym.imp.SHLWAPI.dll_StrTrimA]
lea ecx, [esp + 0x8d8]
push 0x46e08c
push ecx
call ebp
mov edx, dword [ebx]
lea eax, [esp + 0x74]
push 4
push eax
mov ecx, ebx
call dword [edx + 0x14]
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 + 0x10d8]
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 + 0x74]
call fcn.00445280
lea ecx, [esp + 0x10d8]
push 0x46e08c
push ecx
call ebp
mov edx, dword [ebx]
push 5
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov esi, eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x24]
push eax
mov dword [esp + 0x34], esi
push ecx
lea edx, [esp + 0x20]
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x18f0]
push str._s__s__s_s__s:_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
test esi, esi
jne 0x42ffc6
mov edi, 0x514f20
lea esi, [esp + 0x8d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x42feea
test al, al
je 0x42fee6
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x42feea
add esi, 2
add edi, 2
test al, al
jne 0x42fec2
xor eax, eax
jmp 0x42feef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4300d2
mov edi, 0x514f20
lea esi, [esp + 0x10d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x42ff2b
test al, al
je 0x42ff27
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x42ff2b
add esi, 2
add edi, 2
test al, al
jne 0x42ff03
xor eax, eax
jmp 0x42ff30
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4300d2
lea edi, [esp + 0x18d8]
lea esi, [esp + 0x8d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x42ff6e
test al, al
je 0x42ff6a
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x42ff6e
add esi, 2
add edi, 2
test al, al
jne 0x42ff46
xor eax, eax
jmp 0x42ff73
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x4300d2
lea edi, [esp + 0x18d8]
lea esi, [esp + 0x10d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x42ffb1
test al, al
je 0x42ffad
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x42ffb1
add esi, 2
add edi, 2
test al, al
jne 0x42ff89
xor eax, eax
jmp 0x42ffb6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x4300d2
mov dword [esp + 0x30], 1
mov edi, 0x514f20
lea esi, [esp + 0x8d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x42fffa
test al, al
je 0x42fff6
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x42fffa
add esi, 2
add edi, 2
test al, al
jne 0x42ffd2
xor eax, eax
jmp 0x42ffff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4300c2
mov edi, 0x514f20
lea esi, [esp + 0x10d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x43003b
test al, al
je 0x430037
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x43003b
add esi, 2
add edi, 2
test al, al
jne 0x430013
xor eax, eax
jmp 0x430040
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4300c2
lea edi, [esp + 0x18d8]
lea esi, [esp + 0x8d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x43007a
test al, al
je 0x430076
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x43007a
add esi, 2
add edi, 2
test al, al
jne 0x430052
xor eax, eax
jmp 0x43007f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x4300c2
lea edi, [esp + 0x18d8]
lea esi, [esp + 0x10d8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4300b9
test al, al
je 0x4300b5
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4300b9
add esi, 2
add edi, 2
test al, al
jne 0x430091
xor eax, eax
jmp 0x4300be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jge 0x4300d2
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], 1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov ebp, dword [esp + 0x6c]
test ebp, ebp
jle 0x4303a5
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x4303a5
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x674eb8]
test ecx, ecx
je 0x430249
mov ebx, dword [esp + 0x20e4]
mov al, byte [ebx]
cmp al, 0x45
je 0x430120
cmp al, 0x2d
jne 0x4301bf
mov ecx, dword [esp + 0x20e0]
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x40]
lea esi, [ecx + 1]
lea ecx, [esp + 0x20]
push esi
push eax
lea edx, [esp + 0x30]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x48]
push eax
lea edx, [esp + 0x40]
push ecx
lea eax, [esp + 0x34]
push edx
push eax
lea ecx, [esp + 0xd0]
push str._s_s__s__s__s:_s:_s__INPUT_d___s
push ecx
call edi
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
add esp, 0x2c
push esi
push ebp
push ebx
push edx
push eax
call fcn.0042f860
add esp, 0xc
lea ecx, [esp + 0xe0]
push eax
push str.UPDATE_Tab_PerifericheCA_SET_idstato_d_WHERE_iddispositivo_d_AND_descrizioneINPUT_d
push ecx
call edi
add esp, 4
lea edx, [esp + 0xe8]
mov ecx, esp
mov dword [esp + 0x3c], 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 dword [esp + 0x10], ecx
jmp 0x4301c5
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
cmp byte [ebx], 0x45
je 0x4303a5
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0xcc]
push str._s_s__s__s__s:_s:_s____s
push ecx
call edi
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x3c]
add esp, 0x28
lea eax, [esp + 0x84]
push edx
mov edx, dword [esp + 0x44]
push eax
push ebx
push ecx
push edx
call fcn.0042f860
add esp, 0xc
push eax
lea eax, [esp + 0xe4]
push str.UPDATE_Tab_Dispositivi_SET_idstatodispositivokcom_d_dtlast_s_WHERE_descrizione_s
push eax
call edi
add esp, 4
mov ecx, esp
mov dword [esp + 0x3c], esp
jmp 0x430381
lea edx, [esp + 0x58]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x2c]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0xcc]
push str._s_s__s__s__s:_s:_s____s
push ecx
call esi
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x210c]
add esp, 0x28
lea eax, [esp + 0x84]
push edi
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.0042f860
add esp, 0xc
lea ecx, [esp + 0xe4]
push eax
push str.UPDATE_Tab_Dispositivi_SET_idstatodispositivokcom_d_dtlast_s_flexcluded_d_WHERE_descrizione_s
push ecx
call esi
add esp, 8
lea edx, [esp + 0xe8]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x10]
xor ecx, ecx
cmp eax, 1
mov eax, dword [esp + 0x44]
sete cl
test eax, eax
mov dword [esp + 0x10], ecx
je 0x4303a5
lea edx, [esp + 0x84]
push edi
push edx
push 0x476ed38
lea eax, [esp + 0xe4]
push str.UPDATE_GATC__sMAPSLOG_SET_visionato1_datoravisio_s_WHERE_desdevice_s_AND_visionato_is_null
push eax
call esi
add esp, 4
lea edx, [esp + 0xe8]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x4303a5
mov eax, dword [esp + 0x50]
cmp eax, ecx
je 0x4303bc
mov ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x20e8]
push eax
mov eax, dword [esp + 0x54]
push edx
push eax
push 0x476ed38
lea ecx, [esp + 0xec]
push str.UPDATE_GATC__sMAPS_SET_statusdevice_02d_s__cpccchk_010lu_WHERE_idmaps_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, esp
mov dword [esp + 0x3c], esp
lea edx, [esp + 0xe8]
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 dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x430735
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x20dc]
push 0x476ed38
lea edx, [esp + 0xdc]
push str.SELECT_MAX_idlogs__FROM_GATC__sMAPSLOG
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0xd8]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00445210
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov esi, eax
xor eax, eax
test esi, esi
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x430443
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
test al, al
jne 0x430443
mov al, byte [esi + 4]
test al, al
jne 0x430430
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
test esi, esi
je 0x430443
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
lea eax, [ebp + ebp*2]
mov esi, dword [esp + 0x48]
inc esi
lea eax, [eax + eax*8]
mov dword [esp + 0x48], esi
lea eax, [ebp + eax*8]
lea ecx, [eax + eax*2]
lea eax, [ebp + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx*8]
mov edx, dword [ecx*4 + 0x67284c]
test edx, edx
je 0x43049d
lea ecx, [ebp + ebp*2]
lea eax, [eax + eax*4]
lea edx, [ecx + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [ebp + edx*8]
lea ecx, [ecx + ecx*2]
lea ecx, [ebp + ecx*2]
lea edx, [ecx + ecx*4]
shl edx, 5
lea esi, [edx + eax*2 + 0x654a14]
jmp 0x4305a6
mov eax, dword [esp + 0x20e8]
test eax, eax
je 0x430527
lea eax, [ebx + ebx*2]
mov edi, 0x514f20
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
mov ecx, dword [esp + 0x20e0]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
mov edx, ecx
shl edx, 5
lea eax, [eax + eax*4]
shl eax, 5
sub edx, ecx
lea esi, [edx + eax + 0x674ad8]
mov dword [esp + 0x38], esi
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x4304ff
test cl, cl
je 0x4304fb
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x4304ff
add esi, 2
add edi, 2
test cl, cl
jne 0x4304db
xor ecx, ecx
jmp 0x430504
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x430521
mov ecx, dword [esp + 0x20e0]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*2 + 0x654a14]
jmp 0x4305a6
mov esi, dword [esp + 0x38]
jmp 0x4305a6
lea edx, [ebx + ebx*8]
mov ecx, dword [esp + 0x20e0]
mov esi, 0x514f20
lea eax, [ebx + edx*2]
lea eax, [eax + eax*8]
lea edx, [ebx + eax*2]
mov eax, ecx
shl eax, 5
sub eax, ecx
lea edi, [eax + edx*8 + 0x4605df0]
mov dword [esp + 0x38], edi
mov dl, byte [edi]
mov al, dl
cmp dl, byte [esi]
jne 0x430575
test al, al
je 0x430571
mov dl, byte [edi + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x430575
add edi, 2
add esi, 2
test al, al
jne 0x430551
xor eax, eax
jmp 0x43057a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4305a2
lea eax, [ebx + ebx*2]
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
lea edx, [eax + eax*4]
lea eax, [ecx + ecx*4]
shl edx, 5
lea eax, [eax + eax*4]
lea esi, [edx + eax*2 + 0x654a14]
jmp 0x4305a6
mov esi, dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esp + 0xac]
push eax
lea edx, [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x20ec]
lea eax, [esp + 0x5e]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x5c]
push esi
push edx
push eax
push ecx
push 0x476ed38
lea edx, [esp + 0x100]
push str.INSERT_INTO_GATC__sMAPSLOG__idlogs_idmaps_mpsdevice_desdevice_statusdevice_oldstatusdevice_datora_messaggio_cpccchk__VALUES___d__d__d__s__s__s__s__s__010lu_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [esp + 0xe8]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00445210
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0x10]
xor ecx, ecx
cmp eax, 1
mov eax, dword [esp + 0x20e8]
sete cl
test eax, eax
mov dword [esp + 0x10], ecx
je 0x430651
lea eax, [ebx + ebx*2]
lea edx, [eax + eax*8]
lea eax, [ebx + edx*8]
lea eax, [eax + eax*2]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x20e0]
lea ecx, [ebx + ebx*4]
shl ecx, 4
add ecx, eax
lea edx, [ecx*2 + 0x674298]
jmp 0x43066e
lea ecx, [ebx + ebx*8]
lea eax, [ebx + ecx*2]
mov ecx, dword [esp + 0x20e0]
lea edx, [eax + eax*8]
lea eax, [ebx + edx*2]
lea edx, [ecx + eax*4]
lea edx, [edx*2 + 0x4605d80]
mov edi, dword [esp + 0x20e4]
or ecx, 0xffffffff
xor eax, eax
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
mov eax, 1
and ecx, 3
mov dword [esp + 0x44], eax
rep movsb byte es:[edi], byte [esi]
cmp dword [0x46023d0], eax
jl 0x430720
mov edx, dword [esp + 0x14]
lea ebp, [ebp + ebp*4 + 0x1388]
mov ebx, 0x5ed938
mov edi, 0x523964
lea eax, [ebp + ebp*4]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
lea esi, [esi + esi*4]
shl esi, 1
cmp dword [edi], 0
jne 0x430701
mov eax, dword [esp + 0x20e8]
mov dword [edi], 1
test eax, eax
je 0x4306e1
xor eax, eax
jmp 0x4306e9
mov eax, dword [esp + 0x20e0]
inc eax
mov ecx, dword [0x523aac]
add eax, esi
push eax
push 0x45d4c0
push ecx
push ebx
call fcn.0045a6d0
add esp, 0x10
mov eax, dword [esp + 0x44]
mov ecx, dword [0x46023d0]
inc eax
add edi, 0x14
add esi, 0x989680
add ebx, 0x58
cmp eax, ecx
mov dword [esp + 0x44], eax
jle 0x4306c7
mov eax, dword [esp + 0x10]
test eax, eax
je 0x430735
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0x18]
jmp 0x430740
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0x1c]
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c8
ret