Function at 0x410380
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x3e8c
call fcn.0045ec70
mov eax, dword [0x476ecf4]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x4103a6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3e8c
ret
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, 0x674298
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], edx
lea eax, [edx + 0x840]
mov ebp, edx
mov dword [esp + 0x14], eax
add edx, 0xffffff80
mov dword [esp + 0x18], 0x20
mov edi, 0x47481c
or ecx, 0xffffffff
xor eax, eax
mov dword [edx - 0x80], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [edx], ebx
mov eax, ecx
mov esi, edi
mov edi, ebp
add ebp, 2
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov edi, 0x514f20
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov dword [edx + 0x2bc], ebx
mov dword [edx + 0x33c], ebx
not ecx
mov dword [edx + 0x4bc], ebx
sub edi, ecx
mov dword [edx + 0x53c], ebx
mov dword [edx + 0x5bc], ebx
mov eax, ecx
mov dword [edx + 0x6bc], ebx
mov esi, edi
mov edi, dword [esp + 0x14]
mov dword [edx + 0x73c], ebx
mov dword [edx + 0x83c], ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0xc9c], ebx
mov dword [edx + 0xd1c], ebx
mov dword [edx + 0xf1c], ebx
add ecx, 0x1f
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jne 0x4103d9
mov edx, dword [esp + 0x40]
add edx, 0x32e60
cmp edx, 0x4613a98
mov dword [esp + 0x40], edx
jl 0x4103c2
mov dword [esp + 0x24], 0x4605d80
mov edx, dword [esp + 0x24]
lea ecx, [edx + 0x70]
mov ebp, edx
mov dword [esp + 0x14], ecx
add edx, 0xffffffe0
mov dword [esp + 0x18], 8
mov edi, 0x47481c
or ecx, 0xffffffff
xor eax, eax
mov dword [edx - 0x20], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [edx], ebx
mov eax, ecx
mov esi, edi
mov edi, ebp
add ebp, 2
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
add edx, 4
rep movsb byte es:[edi], byte [esi]
mov edi, 0x514f20
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov dword [edx - 0x44], ebx
sub edi, ecx
mov dword [edx + 0x2c], ebx
mov dword [edx + 0x1e4], ebx
mov eax, ecx
mov dword [edx + 0x1a4], ebx
mov esi, edi
mov edi, dword [esp + 0x14]
mov dword [edx + 0x184], ebx
mov dword [edx + 0x6c], ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
add ecx, 0x1f
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jne 0x4104c0
mov edx, dword [esp + 0x24]
add edx, 0xab8
cmp edx, 0x475cd80
mov dword [esp + 0x24], edx
jl 0x4104ac
mov edx, 0x45edaec
mov dword [esp + 0x14], edx
jmp 0x41056f
mov edx, dword [esp + 0x14]
lea ebp, [edx + 0x2e8]
mov dword [esp + 0x18], 0x1f
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
mov dword [edx - 0x7c], ebx
repne scasb al, byte es:[edi]
not ecx
mov dword [edx], ebx
sub edi, ecx
mov dword [edx + 0x7c], ebx
mov dword [edx + 0xf8], ebx
mov eax, ecx
mov dword [edx + 0x174], ebx
mov esi, edi
mov dword [edx + 0x1f0], ebx
mov edi, ebp
mov dword [edx + 0x26c], ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
add edx, 4
add ebp, 0x1f
dec eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x18], eax
jne 0x41057d
mov eax, dword [esp + 0x14]
add eax, 0x728
cmp eax, 0x45f37f4
mov dword [esp + 0x14], eax
jl 0x41056b
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x29c]
push str.SELECT_idmaps_desdevice01_statusdevice01_inputporta01_flinputval01_tobreak01_resetman01_alias01_resetdevice01_disabdevice01_disabstatus01_disabyetopen01_desdevice02_statusdevice02_inputporta02_flinputval02_tobreak02_resetman02_alias02_resetdevice02_disabdevice02_disabstatus02_disabyetopen02_desdevice03_statusdevice03_inputporta03_flinputval03_tobreak03_resetman03_alias03_resetdevice03_disabdevice03_disabstatus03_disabyetopen03_desdevice04_statusdevice04_inputporta04_flinputval04_tobreak04_resetman04_alias04_resetdevice04_disabdevice04_disabstatus04_disabyetopen04_desdevice05_statusdevice05_inputporta05_flinputval05_tobreak05_resetman05_alias05_resetdevice05_disabdevice05_disabstatus05_disabyetopen05_desdevice06_statusdevice06_inputporta06_flinputval06_tobreak06_resetman06_alias06_resetdevice06_disabdevice06_disabstatus06_disabyetopen06_desdevice07_statusdevice07_inputporta07_flinputval07_tobreak07_resetman07_alias07_resetdevice07_disabdevice07_disabstatus07_disabyetopen07_
push ecx
call esi
lea edx, [esp + 0x1aa4]
push str.desdevice08_statusdevice08_inputporta08_flinputval08_tobreak08_resetman08_alias08_resetdevice08_disabdevice08_disabstatus08_disabyetopen08_desdevice09_statusdevice09_inputporta09_flinputval09_tobreak09_resetman09_alias09_resetdevice09_disabdevice09_disabstatus09_disabyetopen09_desdevice10_statusdevice10_inputporta10_flinputval10_tobreak10_resetman10_alias10_resetdevice10_disabdevice10_disabstatus11_disabyetopen10_desdevice11_statusdevice11_inputporta11_flinputval11_tobreak11_resetman11_alias11_resetdevice11_disabdevice11_disabstatus11_disabyetopen11_desdevice12_statusdevice12_inputporta12_flinputval12_tobreak12_resetman12_alias12_resetdevice12_disabdevice12_disabstatus12_disabyetopen12_desdevice13_statusdevice13_inputporta13_flinputval13_tobreak13_resetman13_alias13_resetdevice13_disabdevice13_disabstatus13_disabyetopen13_desdevice14_statusdevice14_inputporta14_flinputval14_tobreak14_resetman14_alias14_resetdevice14_disabdevice14_disabstatus14_disabyetopen14_
push edx
call esi
lea eax, [esp + 0x1eac]
push str.desdevice15_statusdevice15_inputporta15_flinputval15_tobreak15_resetman15_alias15_resetdevice15_disabdevice15_disabstatus15_disabyetopen15_desdevice16_statusdevice16_inputporta16_flinputval16_tobreak16_resetman16_alias16_resetdevice16_disabdevice16_disabstatus16_disabyetopen16_desdevice17_statusdevice17_inputporta17_flinputval17_tobreak17_resetman17_alias17_resetdevice17_disabdevice17_disabstatus17_disabyetopen17_desdevice18_statusdevice18_inputporta18_flinputval18_tobreak18_resetman18_alias18_resetdevice18_disabdevice18_disabstatus18_disabyetopen18_desdevice19_statusdevice19_inputporta19_flinputval19_tobreak19_resetman19_alias19_resetdevice19_disabdevice19_disabstatus19_disabyetopen19_desdevice20_statusdevice20_inputporta20_flinputval20_tobreak20_resetman20_alias20_resetdevice20_disabdevice20_disabstatus20_disabyetopen20_desdevice21_statusdevice21_inputporta21_flinputval21_tobreak21_resetman21_alias21_resetdevice21_disabdevice21_disabstatus21_disabyetopen21_
push eax
call esi
lea ecx, [esp + 0x22b4]
push str.desdevice22_statusdevice22_inputporta22_flinputval22_tobreak22_resetman22_alias22_resetdevice22_disabdevice22_disabstatus22_disabyetopen22_desdevice23_statusdevice23_inputporta23_flinputval23_tobreak23_resetman23_alias23_resetdevice23_disabdevice23_disabstatus23_disabyetopen23_desdevice24_statusdevice24_inputporta24_flinputval24_tobreak24_resetman24_alias24_resetdevice24_disabdevice24_disabstatus24_disabyetopen24_desdevice25_statusdevice25_inputporta25_flinputval25_tobreak25_resetman25_alias25_resetdevice25_disabdevice25_disabstatus25_disabyetopen25_desdevice26_statusdevice26_inputporta26_flinputval26_tobreak26_resetman26_alias26_resetdevice26_disabdevice26_disabstatus26_disabyetopen26_desdevice27_statusdevice27_inputporta27_flinputval27_tobreak27_resetman27_alias27_resetdevice27_disabdevice27_disabstatus27_disabyetopen27_desdevice28_statusdevice28_inputporta28_flinputval28_tobreak28_resetman28_alias28_resetdevice28_disabdevice28_disabstatus28_disabyetopen28_
push ecx
call esi
push 0x476ed38
lea edx, [esp + 0x16c0]
push str.desdevice29_statusdevice29_inputporta29_flinputval29_tobreak29_resetman29_alias29_resetdevice29_disabdevice29_disabstatus29_disabyetopen29_desdevice30_statusdevice30_inputporta30_flinputval30_tobreak30_resetman30_alias30_resetdevice30_disabdevice30_disabstatus30_disabyetopen30_FROM_GATC__sMAPS
push edx
call esi
lea edi, [esp + 0x2c8]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x2c
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x1a9c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x1e9c]
mov ebp, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x229c]
mov dword [esp + 0x14], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x169c]
mov dword [esp + 0x24], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, ebx
mov dword [esp + 0x28], ecx
jle 0x4106bc
mov ecx, ebp
lea edi, [esp + edx + 0x29c]
mov eax, ecx
lea esi, [esp + 0x1a9c]
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 [esp + 0x14]
xor ebp, ebp
cmp ecx, ebx
mov dword [esp + 0x18], ebp
jle 0x4106f1
lea ecx, [eax + edx]
lea esi, [esp + 0x1e9c]
lea edi, [esp + ecx + 0x29c]
mov ecx, dword [esp + 0x14]
mov ebp, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov dword [esp + 0x18], ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
cmp ecx, ebx
jle 0x410727
add ebp, eax
lea esi, [esp + 0x229c]
add ebp, edx
lea edi, [esp + ebp + 0x29c]
mov ebp, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x28], ebx
jle 0x410757
mov ecx, dword [esp + 0x14]
lea esi, [esp + 0x169c]
add ecx, ebp
add ecx, eax
add ecx, edx
lea edi, [esp + ecx + 0x29c]
mov ecx, dword [esp + 0x28]
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
push 1
add ebx, ecx
sub esp, 0x10
add ebx, ebp
mov ecx, esp
add ebx, eax
mov dword [esp + 0x40], esp
add ebx, edx
lea edx, [esp + 0x2b0]
push edx
mov byte [esp + ebx + 0x2b4], 0
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x410fe7
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x410fe7
mov al, byte [ebp + 4]
test al, al
jne 0x410fd0
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
lea ecx, [eax + eax*8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 0
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
shl eax, 3
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov edx, dword [ebp]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, ebp
mov dword [esp + 0x1c], eax
add eax, 2
push eax
lea eax, [esp + 0x168]
push eax
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 + 0x269c]
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 + 0x164]
call fcn.00445280
lea ecx, [esp + 0x269c]
push 0x46e08c
push ecx
call ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp]
add eax, 9
lea ecx, [esp + 0x124]
push eax
push ecx
mov ecx, ebp
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 + 0x2e9c]
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 + 0x124]
call fcn.00445280
lea ecx, [esp + 0x2e9c]
push 0x46e08c
push ecx
call ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp]
add eax, 0xa
lea ecx, [esp + 0x134]
push eax
push ecx
mov ecx, ebp
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 + 0x369c]
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 + 0x134]
call fcn.00445280
lea ecx, [esp + 0x369c]
push 0x46e08c
push ecx
call ebx
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x369c]
mov edx, eax
or ecx, 0xffffffff
shl edx, 5
sub edx, eax
mov eax, dword [esp + 0x50]
lea edx, [edx + eax + 0x45eddf3]
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
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x514f20
lea esi, [esp + 0x269c]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x41097f
test al, al
je 0x41097b
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x41097f
add esi, 2
add edi, 2
test al, al
jne 0x410957
xor eax, eax
jmp 0x410984
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410fab
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
lea ecx, [eax + 0x674eb8]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0x20524]
test eax, eax
je 0x410f38
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
lea esi, [esp + 0x269c]
lea eax, [eax + ecx + 0x654a14]
mov dword [esp + 0x2c], eax
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x410a0e
test cl, cl
je 0x410a0a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x410a0e
add eax, 2
add esi, 2
test cl, cl
jne 0x4109e6
xor eax, eax
jmp 0x410a13
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.0x410e5f.69
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x20]
lea esi, [edx + ecx*2]
mov edx, dword [esp + 0x14]
shl esi, 2
mov ecx, 0x472b7c
lea edi, [edi + edx + 0x655054]
mov dword [esi + 0x45eda74], 1
mov bl, byte [edi]
mov dl, bl
cmp bl, byte [ecx]
jne 0x410a77
test dl, dl
je 0x410a73
mov bl, byte [edi + 1]
mov dl, bl
cmp bl, byte [ecx + 1]
jne 0x410a77
add edi, 2
add ecx, 2
test dl, dl
jne 0x410a53
xor ecx, ecx
jmp 0x410a7c
sbb ecx, ecx
sbb ecx, 0xffffffff
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x410c9b
mov ecx, dword [esp + 0x1c]
mov dword [ebx], 1
mov eax, dword [ebp]
add ecx, 4
push ecx
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov ebx, dword [ebx - 0x16c6c]
mov edx, dword [esp + 0x1c]
mov edi, eax
mov dword [esi + 0x45edaf0], 0
dec edi
mov dword [esi + 0x45edc64], ebx
mov dword [esi + 0x45edce0], edi
lea eax, [edx + 7]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov dword [esp + 0x44], edi
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esi + 0x45edd5c], eax
lea eax, [ebx + ebx*8]
lea eax, [ebx + eax*2]
lea ecx, [eax + eax*8]
lea edx, [ebx + ecx*2]
mov ecx, dword [esp + 0x34]
lea eax, [edi + edx*2]
mov edx, dword [esp + 0x20]
shl eax, 2
mov dword [esp + 0x28], eax
mov dword [eax + 0x4605d20], 1
mov dword [eax + 0x4605d40], ecx
lea ecx, [edx + 1]
lea edx, [esp + 0xf4]
mov dword [eax + 0x4605d60], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp]
add ecx, 3
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x14]
mov ecx, dword [eax + 4]
lea eax, [ebx + ebx*8]
lea eax, [ebx + eax*2]
lea edx, [eax + eax*8]
lea eax, [ebx + edx*2]
lea edi, [edi + eax*4]
xor eax, eax
lea edx, [edi*2 + 0x4605d80]
mov edi, ecx
or ecx, 0xffffffff
mov dword [esp + 0x18], edx
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]
lea ecx, [esp + 0xf4]
call fcn.00445280
mov ecx, dword [esp + 0x18]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp]
mov ecx, ebp
lea eax, [esi + 5]
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov edi, dword [esp + 0x28]
mov dword [edi + 0x4605d90], eax
mov edx, dword [ebp]
lea eax, [esi + 6]
push eax
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [edi + 0x4605db0], eax
mov edx, dword [ebp]
lea eax, [esi + 7]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
add esi, 8
lea ecx, [esp + 0x154]
mov dword [edi + 0x4605dd0], eax
mov eax, dword [ebp]
push esi
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edi, dword [eax + 4]
lea edx, [ebx + ebx*8]
lea eax, [ebx + edx*2]
lea eax, [eax + eax*8]
lea ecx, [ebx + eax*2]
mov eax, dword [esp + 0x40]
mov edx, eax
shl edx, 5
sub edx, eax
xor eax, eax
lea ebx, [edx + ecx*8 + 0x4605df0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
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 + 0x154]
call fcn.00445280
push 0x46e08c
push ebx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov eax, dword [esp + 0x20]
mov edx, dword [ebp]
inc eax
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x4605f88], eax
movsx eax, byte [edx]
sub eax, 0x43
je 0x410c88
sub eax, 2
jne case.0x410e5f.69
mov eax, ecx
mov dword [eax + 0x4605ee8], 1
jmp case.0x410e5f.69
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x4605f48], 1
jmp case.0x410e5f.69
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
mov dword [ebx - 0xd20], eax
lea eax, [edx + 1]
mov dword [esi + 0x45edaf0], 1
mov dword [esp + 0x40], eax
mov dword [ebx - 0xca0], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x45edb6c], eax
mov dword [esi + 0x45edbe8], edi
mov edx, dword [ebp]
lea eax, [ecx + 7]
push eax
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x45edd5c], eax
mov eax, dword [ebp]
add ecx, 3
lea edx, [esp + 0x104]
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x14]
mov ecx, dword [esp + 0x4c]
mov eax, dword [eax + 4]
add ecx, edi
mov edi, eax
xor eax, eax
lea edx, [ecx*2 + 0x674298]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], edx
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 + 0x104]
call fcn.00445280
mov ecx, dword [esp + 0x18]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp]
mov ecx, ebp
lea eax, [esi + 4]
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx - 0x9e0], eax
mov edx, dword [ebp]
lea eax, [esi + 5]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx - 0x960], eax
mov edx, dword [ebp]
lea eax, [esi + 6]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx - 0x660], eax
mov edx, dword [ebp]
lea eax, [esi + 7]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx - 0x460], eax
mov eax, dword [ebp]
add esi, 8
lea ecx, [esp + 0x114]
push esi
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 4]
lea edx, [ecx + edx + 0x674ad8]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x28], edx
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 + 0x114]
call fcn.00445280
mov ecx, dword [esp + 0x28]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov eax, dword [esp + 0x40]
mov edx, dword [ebp]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, ebp
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx + 0x200], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp]
add eax, 0xc
push eax
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x280], eax
movsx eax, byte [ecx]
add eax, 0xffffffbf
cmp eax, 6
ja case.0x410e5f.69
jmp dword [eax*4 + 0x4120d8]
mov edx, dword [esp + 0x10]
mov dword [edx - 0x760], 1
jmp case.0x410e5f.69
mov eax, dword [esp + 0x10]
mov dword [eax - 0x6e0], 1
jmp case.0x410e5f.69
mov ecx, dword [esp + 0x10]
mov dword [ecx - 0x7e0], 1
jmp case.0x410e5f.69
mov edx, dword [esp + 0x10]
mov dword [edx - 0x560], 1
mov edi, dword [esp + 0x2c]
lea esi, [esp + 0x2e9c]
mov ecx, edi
mov al, byte [ecx]
mov bl, byte [esi]
mov dl, al
cmp al, bl
jne 0x410ed9
test dl, dl
je 0x410ed5
mov al, byte [ecx + 1]
mov bl, byte [esi + 1]
mov dl, al
cmp al, bl
jne 0x410ed9
add ecx, 2
add esi, 2
test dl, dl
jne 0x410eb1
xor ecx, ecx
jmp 0x410ede
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x410ef0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x80], 1
lea esi, [esp + 0x369c]
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x410f21
test cl, cl
je 0x410f1d
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x410f21
add eax, 2
add esi, 2
test cl, cl
jne 0x410ef9
xor eax, eax
jmp 0x410f26
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410f38
mov eax, dword [esp + 0x10]
mov dword [eax + 0x180], 1
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
inc eax
add ebx, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
add eax, 3
add esi, 0x1f
add edx, 0x32
cmp eax, 0x60
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], edx
jl 0x4109ba
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
add eax, 0x19730
inc edi
add edx, 0x32e60
cmp eax, 0x1fcfc00
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], edx
jl 0x41099a
mov ebx, dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov eax, dword [esp + 0x20]
inc eax
cmp eax, 0x1e
mov dword [esp + 0x20], eax
jl 0x4107f3
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x20]
mov al, byte [ebp + 4]
test al, al
je 0x4107c5
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x410fef
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
jmp 0x410fef
mov dword [esp + 0x3c], 0
mov ecx, dword [0x476edd8]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x44], eax
jl 0x412048
mov eax, 0x687770
mov dword [esp + 0x14], 0x19730
mov dword [esp + 0x24], eax
mov ecx, dword [eax]
mov dword [esp + 0x38], 1
cmp ecx, 1
jl 0x41201a
lea esi, [eax + 0x136]
lea ecx, [eax + 0x201e7]
lea edx, [eax + 0x205ac]
add eax, 0x747
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0x266c]
test ecx, ecx
je 0x411d93
mov ebp, dword [esp + 0x18]
mov edi, 0x472b7c
mov cl, byte [ebp]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4110a1
test al, al
je 0x41109d
mov dl, byte [ebp + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4110a1
add ebp, 2
add edi, 2
test al, al
jne 0x411078
xor eax, eax
jmp 0x4110a6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x411a5d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax - 0x31570]
mov eax, dword [edx - 0x10fcc]
push ecx
mov ecx, dword [0x476edd0]
push eax
push ecx
push 0x476ed38
lea edx, [esp + 0x2ac]
push str.SELECT_dsalias1_flinput1_flinputval1_tobreak1_resetman1_disabstatus1_dsalias2_flinput2_flinputval2_tobreak2_resetman2_disabstatus2_dsalias3_flinput3_flinputval3_tobreak3_resetman3_disabstatus3_dsalias4_flinput4_flinputval4_tobreak4_resetman4_disabstatus4_dsalias5_flinput5_flinputval5_tobreak5_resetman5_disabstatus5_dsalias6_flinput6_flinputval6_tobreak6_resetman6_disabstatus6_dsalias7_flinput7_flinputval7_tobreak7_resetman7_disabstatus7_dsalias8_flinput8_flinputval8_tobreak8_resetman8_disabstatus8_FROM_GATD__sDIDOMAPS_WHERE_kcom_d_AND_channel_d_AND_device_d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea eax, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411753
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x24]
test al, al
jne 0x411753
mov al, byte [ebp + 4]
test al, al
jne 0x41173c
mov edx, dword [ebp]
lea eax, [esp + 0x114]
push 1
push eax
mov ecx, ebp
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 + 0x1a4]
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 + 0x114]
call fcn.00445280
lea ecx, [esp + 0x1a4]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 2
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x54], eax
mov eax, dword [ebp]
push 3
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 4
mov ecx, ebp
mov dword [esp + 0x98], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xd4], eax
mov eax, dword [ebp]
push 5
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 6
mov ecx, ebp
mov dword [esp + 0x78], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x104]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp]
push 7
push ecx
mov ecx, ebp
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 + 0x1c3]
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 + 0x104]
call fcn.00445280
lea ecx, [esp + 0x1c3]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 8
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x58], eax
mov eax, dword [ebp]
push 9
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0xa
mov ecx, ebp
mov dword [esp + 0x9c], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xd8], eax
mov eax, dword [ebp]
push 0xb
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0xc
mov ecx, ebp
mov dword [esp + 0x7c], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x154]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp]
push 0xd
push ecx
mov ecx, ebp
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 + 0x1e2]
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 + 0x154]
call fcn.00445280
lea ecx, [esp + 0x1e2]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0xe
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x5c], eax
mov eax, dword [ebp]
push 0xf
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x10
mov ecx, ebp
mov dword [esp + 0xa0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xdc], eax
mov eax, dword [ebp]
push 0x11
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x12
mov ecx, ebp
mov dword [esp + 0x80], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0xf4]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp]
push 0x13
push ecx
mov ecx, ebp
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 + 0x201]
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 + 0xf4]
call fcn.00445280
lea ecx, [esp + 0x201]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0x14
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x60], eax
mov eax, dword [ebp]
push 0x15
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x16
mov ecx, ebp
mov dword [esp + 0xa4], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xe0], eax
mov eax, dword [ebp]
push 0x17
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x18
mov ecx, ebp
mov dword [esp + 0x84], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x134]
mov dword [esp + 0xc0], eax
mov eax, dword [ebp]
push 0x19
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
lea edx, [esp + 0x220]
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
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x134]
call fcn.00445280
lea ecx, [esp + 0x220]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0x1a
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x64], eax
mov eax, dword [ebp]
push 0x1b
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x1c
mov ecx, ebp
mov dword [esp + 0xa8], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xe4], eax
mov eax, dword [ebp]
push 0x1d
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x1e
mov ecx, ebp
mov dword [esp + 0x88], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x124]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp]
push 0x1f
push ecx
mov ecx, ebp
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 + 0x23f]
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 + 0x124]
call fcn.00445280
lea ecx, [esp + 0x23f]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0x20
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x68], eax
mov eax, dword [ebp]
push 0x21
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x22
mov ecx, ebp
mov dword [esp + 0xac], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xe8], eax
mov eax, dword [ebp]
push 0x23
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x24
mov ecx, ebp
mov dword [esp + 0x8c], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x164]
mov dword [esp + 0xc8], eax
mov eax, dword [ebp]
push 0x25
push ecx
mov ecx, ebp
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 + 0x25e]
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 + 0x164]
call fcn.00445280
lea ecx, [esp + 0x25e]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0x26
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x6c], eax
mov eax, dword [ebp]
push 0x27
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x28
mov ecx, ebp
mov dword [esp + 0xb0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xec], eax
mov eax, dword [ebp]
push 0x29
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x2a
mov ecx, ebp
mov dword [esp + 0x90], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x194]
mov dword [esp + 0xcc], eax
mov eax, dword [ebp]
push 0x2b
push ecx
mov ecx, ebp
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 + 0x27d]
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 + 0x194]
call fcn.00445280
lea ecx, [esp + 0x27d]
push 0x46e08c
push ecx
call ebx
mov edx, dword [ebp]
push 0x2c
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0x70], eax
mov eax, dword [ebp]
push 0x2d
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x2e
mov ecx, ebp
mov dword [esp + 0xb4], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xf0], eax
mov eax, dword [ebp]
push 0x2f
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 0x30
mov ecx, ebp
mov dword [esp + 0x94], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + 0xd0], eax
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x41175b
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
jmp 0x41175b
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x34]
xor ebp, ebp
mov dword [esp + 0x48], ebp
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*4]
shl eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + ebp*4 + 0x54]
test eax, eax
je 0x411a43
cmp dword [esp + 0x20], 0x1e
jne 0x4117a8
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
inc ecx
add eax, 0x1ca
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + ebp*4 + 0x74]
add ecx, edx
mov edi, dword [esp + 0x44]
shl ecx, 2
mov dword [eax], 1
mov eax, dword [eax - 0x16c6c]
mov dword [ecx + 0x45eda74], 1
mov dword [ecx + 0x45edaf0], 0
mov dword [ecx + 0x45edc64], eax
mov dword [ecx + 0x45edce0], ebp
mov dword [ecx + 0x45edd5c], esi
mov dword [ecx + 0x45edb6c], edi
mov edi, dword [esp + 0x38]
mov dword [ecx + 0x45edbe8], edi
lea ecx, [eax + eax*8]
mov edi, dword [esp + 0x34]
lea ecx, [eax + ecx*2]
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*2]
lea ecx, [ebp + ecx*2]
shl ecx, 2
inc edx
mov dword [ecx + 0x4605d20], 1
mov dword [ecx + 0x4605d40], edi
mov edi, dword [esp + ebp*4 + 0x94]
mov dword [ecx + 0x4605d60], edx
mov dword [ecx + 0x4605d90], edi
mov edi, dword [esp + ebp*4 + 0xd4]
mov dword [ecx + 0x4605db0], edi
mov dword [ecx + 0x4605dd0], esi
mov esi, dword [esp + ebp*4 + 0xb4]
mov dword [esp + 0x20], edx
mov dword [ecx + 0x4605f88], esi
mov esi, dword [esp + 0x48]
lea ecx, [eax + eax*8]
lea edx, [esp + 0x29c]
lea edi, [esp + esi + 0x1a4]
lea ecx, [eax + ecx*2]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*2]
or ecx, 0xffffffff
lea esi, [esi + eax*8 + 0x4605df0]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x2c], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x2c]
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 [esp + 0x30]
xor edi, edi
push ecx
push str.SELECT_id_FROM_Tab_Dispositivi_WHERE_descrizione_s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x29c]
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
test esi, esi
je 0x41191a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
test al, al
jne 0x41191a
mov al, byte [esi + 4]
test al, al
jne 0x41190b
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x10]
call fcn.0045f9d8
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
lea eax, [ebp + 1]
lea ecx, [esp + 0x29c]
push eax
push edi
push str.SELECT_stato_FROM_Tab_PerifericheCA_WHERE_iddispositivo_d_AND_descrizioneINPUT_d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x29c]
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 esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x411a43
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test al, al
jne 0x411a43
mov al, byte [esi + 4]
test al, al
jne case.0x4119eb.69
mov ecx, esi
lea edx, [esp + 0x184]
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + 4]
add ecx, edx
mov edi, eax
xor eax, eax
lea edx, [ecx*2 + 0x674298]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x2c], edx
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 + 0x184]
call fcn.00445280
mov esi, dword [esp + 0x2c]
push 0x46e08c
push esi
call ebx
movsx eax, byte [esi]
add eax, 0xffffffbf
cmp eax, 6
ja case.0x4119eb.69
jmp dword [eax*4 + 0x4120f4]
mov ecx, dword [esp + 0x10]
mov dword [ecx - 0x760], 1
jmp case.0x4119eb.69
mov edx, dword [esp + 0x10]
mov dword [edx - 0x6e0], 1
jmp case.0x4119eb.69
mov eax, dword [esp + 0x10]
mov dword [eax - 0x7e0], 1
jmp case.0x4119eb.69
mov ecx, dword [esp + 0x10]
mov dword [ecx - 0x560], 1
mov esi, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x1c]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0x48]
inc ebp
add ecx, 0x1f
cmp ebp, 8
mov dword [esp + 0x48], ecx
jl 0x411777
jmp 0x411d8f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov edx, dword [ecx - 0x31570]
mov ecx, dword [eax - 0x10fcc]
push edx
mov edx, dword [0x476edd0]
push ecx
push edx
push 0x476ed38
lea eax, [esp + 0x2ac]
push str.SELECT_dsalias_inputporta_flinputval_tobreak_resetman_disabstatus_disabyetopen_FROM_GATD__sDEVMAPS_WHERE_kcom_d_AND_channel_d_AND_device_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
lea edx, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411c65
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411c65
mov al, byte [ebp + 4]
test al, al
jne 0x411c4e
cmp dword [esp + 0x20], 0x1e
jne 0x411b01
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], 0
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
push 1
mov dword [eax - 0xd20], ecx
lea ecx, [edx + 1]
mov dword [esp + 0x44], ecx
mov dword [eax - 0xca0], ecx
mov eax, dword [ebp]
lea ecx, [esp + 0x178]
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edi, dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x174]
call fcn.00445280
mov eax, dword [esp + 0x28]
push 0x46e08c
push eax
call ebx
mov edx, dword [ebp]
push 2
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov esi, dword [esp + 0x10]
push 3
mov ecx, ebp
mov dword [esi - 0x9e0], eax
mov eax, dword [ebp]
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [esi - 0x960], eax
mov edx, dword [ebp]
push 4
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esi - 0x660], eax
mov eax, dword [ebp]
push 5
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [esi - 0x460], eax
mov edx, dword [ebp]
push 6
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esi + 0x200], eax
mov eax, dword [ebp]
push 7
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [esi + 0x280], eax
mov eax, dword [esp + 0x34]
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + edx*4]
lea esi, [ecx + eax*2]
mov eax, 1
shl esi, 2
mov dword [esi + 0x45eda74], eax
mov dword [esi + 0x45edaf0], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov dword [esi + 0x45edb6c], edx
mov dword [esi + 0x45edbe8], eax
mov edx, dword [ebp]
push 5
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esi + 0x45edd5c], eax
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x411c6d
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x411c6d
mov dword [esp + 0x3c], 0
push esi
lea ecx, [esp + 0x2a0]
push str.SELECT_stato_FROM_Tab_Dispositivi_WHERE_descrizione_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x29c]
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 ebp, eax
test ebp, ebp
mov dword [esp + 0x1c], ebp
je 0x411d93
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411d93
mov al, byte [ebp + 4]
test al, al
jne 0x411d7e
mov eax, dword [ebp]
lea ecx, [esp + 0x144]
push 1
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 4]
add ecx, edx
mov edi, eax
xor eax, eax
lea ebp, [ecx*2 + 0x674298]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x144]
call fcn.00445280
push 0x46e08c
push ebp
call ebx
movsx eax, byte [ebp]
add eax, 0xffffffbf
cmp eax, 6
ja case.0x411d35.69
jmp dword [eax*4 + 0x412110]
mov eax, dword [esp + 0x10]
mov dword [eax - 0x760], 1
jmp case.0x411d35.69
mov ecx, dword [esp + 0x10]
mov dword [ecx - 0x6e0], 1
jmp case.0x411d35.69
mov edx, dword [esp + 0x10]
mov dword [edx - 0x7e0], 1
jmp case.0x411d35.69
mov eax, dword [esp + 0x10]
mov dword [eax - 0x560], 1
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
mov esi, dword [esp + 0x30]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push esi
push 0x476ed38
lea ecx, [esp + 0x2a4]
push str.SELECT_kcom_channel_device_FROM_GATD__sDEVMAPS_WHERE_resetdevice_s
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411e1e
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411e1e
mov al, byte [ebp + 4]
test al, al
jne 0x411e07
mov eax, dword [esp + 0x10]
mov dword [eax + 0x80], 1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x411e26
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x411e26
mov dword [esp + 0x3c], 0
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x476ed38
lea ecx, [esp + 0x2c0]
push str.SELECT_kcom_channel_device_FROM_GATD__sDIDOMAPS_WHERE_resetdevice1_s_OR_resetdevice2_s_OR_resetdevice3_s_OR_resetdevice4_s_OR_resetdevice5_s_OR_resetdevice6_s_OR_resetdevice7_s_OR_resetdevice8_s
push ecx
call edi
add esp, 0x2c
lea edx, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411eb2
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411eb2
mov al, byte [ebp + 4]
test al, al
jne 0x411e9b
mov eax, dword [esp + 0x10]
mov dword [eax + 0x80], 1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x411eba
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x411eba
mov dword [esp + 0x3c], 0
push esi
push 0x476ed38
lea ecx, [esp + 0x2a4]
push str.SELECT_kcom_channel_device_FROM_GATD__sDEVMAPS_WHERE_disabdevice_s
push ecx
call edi
add esp, 0x10
lea edx, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411f3f
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411f3f
mov al, byte [ebp + 4]
test al, al
jne 0x411f28
mov eax, dword [esp + 0x10]
mov dword [eax + 0x180], 1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x411f47
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x411f47
mov dword [esp + 0x3c], 0
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x476ed38
lea ecx, [esp + 0x2c0]
push str.SELECT_kcom_channel_device_FROM_GATD__sDIDOMAPS_WHERE_disabdevice1_s_OR_disabdevice2_s_OR_disabdevice3_s_OR_disabdevice4_s_OR_disabdevice5_s_OR_disabdevice6_s_OR_disabdevice7_s_OR_disabdevice8_s
push ecx
call edi
add esp, 0x2c
lea edx, [esp + 0x29c]
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 ebp, eax
xor eax, eax
test ebp, ebp
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x411fd3
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x411fd3
mov al, byte [ebp + 4]
test al, al
jne 0x411fbc
mov eax, dword [esp + 0x10]
mov dword [eax + 0x180], 1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1c]
test ebp, ebp
je 0x411fdb
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
jmp 0x411fdb
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
add eax, 0x1f
add edx, 3
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edx
inc ecx
mov edx, dword [eax]
add esi, 0x32
add edi, 4
cmp ecx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], edi
jle 0x41105d
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
mov edx, dword [0x476edd8]
inc ecx
add eax, 0x32e60
add esi, 0x19730
cmp ecx, edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
jle 0x411023
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x412079
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x3ea0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4120bd
mov ecx, dword [0x516f90]
lea edx, [esp + 0x144]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov edi, dword [eax + 4]
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, dword [esp + 0x3ea0]
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 + 0x144]
call fcn.00445280
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3e8c
ret