Function at 0x40d320
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x46a7da
push eax
mov eax, 0x200c
mov dword fs:[0], esp
call fcn.0045ec70
mov eax, dword [0x476ecf4]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x40d355
xor eax, eax
jmp 0x40fcff
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, 0x673358
mov dword [esp + 0x34], 1
mov dword [0x5190cc], ebx
mov dword [esp + 0x30], edx
lea eax, [edx - 0xa80]
mov dword [esp + 0x1c], edx
lea ebp, [edx - 0x1e944]
mov dword [esp + 0x14], eax
add edx, 0xfffe60e8
mov dword [esp + 0x2c], 0x20
or ecx, 0xffffffff
mov edi, 0x514f20
xor eax, eax
mov dword [edx + 0x180], 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
mov dword [edx - 0x4aac], ebx
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 - 0x1148], ebx
mov dword [edx - 0x10c8], ebx
sub edi, ecx
mov dword [edx - 0x1048], ebx
mov dword [edx - 0xfc8], ebx
mov eax, ecx
mov dword [edx - 0xf48], ebx
mov esi, edi
mov edi, dword [esp + 0x1c]
mov dword [edx - 0xec8], ebx
shr ecx, 2
mov dword [edx - 0x159fc], ebx
add ebp, 0x32
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, 0x514f20
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x2c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [edx - 0x4c34], ebx
mov dword [edx + 0x1c204], ebx
add esi, 0x21
add ecx, 0x11
dec eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
jne 0x40d399
mov edx, dword [esp + 0x30]
add edx, 0x32e60
cmp edx, 0x4612b58
mov dword [esp + 0x30], edx
jl 0x40d377
mov ecx, dword [0x476edd8]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x40], eax
jl 0x40fc83
mov dword [esp + 0x24], 0x32e60
mov dword [esp + 0x2c], 0xcb98
mov dword [esp + 0x30], 0xa2e0
mov dword [esp + 0x3c], 0x32e6
mov dword [esp + 0x38], 0x19730
mov ecx, dword [esp + 0x24]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x101c]
push str.SELECT_iddevice_desdevice_errstatus_cproword_typedevice_doublebadge_readstatus_vinit1_vinit2_vinit3_vend1_vend2_vend3_keepouts_enabpres_enabcaus_stathrtimb_onlyhrtimb_tip1hrtimb_tip2hrtimb_flipcam_ipcam_portcam_maximglen_maxtimewait_millsframecam_flipcam2_ipcam2_portcam2_maximglen2_maxtimewait2_millsframecam2_ftpflag_ftpserver_ftpport_ftpuid_ftppwd_ftpdir_ftpdirkind_fllogin_ipcamuid_ipcampwd_fllogin2_ipcamuid2_ipcampwd2_flenabdido_accesstype_millstagkeep_flipcam3_ipcam3_portcam3_maximglen3_maxtimewait3_millsframecam3_tollgpweb_idsortimp_fldisabalarmg_fldisabalarmh_readstatusdido1_readstatusdido2_fllogstatus_fllogstatusdido1_fllogstatusdido2_nulltrs__keeptimeouts_keepmodeouts_keeponlineouts_idzona_fltimbscada_idtimescada_flctrlalarm_flcater_nmillsadddev_fltargaext_flsubjectadd_idsubjectparms_fljsoncaller_fldtexparea_fldtexpareaent_fldtexpareausc_fldtexparearem_nfacedetect_floneperday_flenabmaps_ipcamtype_ipcamtype2_ipcamtype3_posmat_lunmat_
lea esi, [ecx + 0x654910]
push edx
mov dword [esp + 0x20], esi
mov dword [esi], ebx
call edi
mov eax, dword [esi - 0x10fcc]
mov ecx, dword [0x476edd0]
push eax
push ecx
push 0x476ed38
lea edx, [esp + 0x430]
push str.fldevdebug_flnotapb_flruleapb_flchkdriver_flonversus_nminutedeloc_flcrypto_flonlyauto_ntipocodifica_flnotwhlston_flcreditservice_flexpontrans_flgrpautoute_nidthermo_flctrlauth_desdevice2_fllogin3_ipcamuid3_ipcampwd3_flenabctrlseq_flonsubject_flfuorielenco_FROM_GATD__sDEVICE_WHERE_idkcom_d_AND_cntchannel_d_AND_statusX
push edx
call edi
lea edi, [esp + 0x1038]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x1c
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x41c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
xor ecx, ecx
cmp eax, ebx
jle 0x40d55f
mov ecx, eax
lea edi, [esp + edx + 0x101c]
mov ebp, ecx
lea esi, [esp + 0x41c]
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, eax
add ecx, edx
push 1
sub esp, 0x10
lea eax, [esp + 0x1030]
mov byte [esp + ecx + 0x1030], 0
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00445210
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov ebp, eax
xor eax, eax
cmp ebp, ebx
sete al
cmp eax, ebx
mov dword [0x476ecf4], eax
jne 0x40fc1c
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x24]
test al, al
jne 0x40fc1c
mov al, byte [ebp + 4]
test al, al
jne 0x40fc05
mov ecx, dword [esp + 0x18]
add ecx, 0x1dfc4
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0x24]
push 1
mov ecx, ebp
mov edx, dword [edi + 0x654910]
lea eax, [edi + 0x654910]
inc edx
mov dword [eax], edx
mov eax, dword [ebp]
mov esi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], esi
lea ebx, [edx + esi]
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x654914], eax
mov dword [ebx*4 + 0x654994], 1
mov edx, dword [ebp]
lea eax, [esp + 0x25c]
push 2
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x1dc]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0
call fcn.004453e0
mov ecx, dword [eax + 4]
lea eax, [esi + esi*4]
lea edx, [eax + eax*4]
xor eax, eax
lea edx, [edi + edx*2 + 0x654a14]
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 + 0x1dc]
call fcn.00445280
lea ecx, [esp + 0x25c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x18]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
push 3
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x659540], eax
mov eax, dword [ebp]
push 4
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x643948], eax
mov edx, dword [ebp]
lea eax, [esp + 0x35c]
push 5
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x7c]
push 0x20
push ecx
mov dword [esp + 0x202c], 1
mov ecx, eax
call fcn.004453e0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea edx, [edx + ecx*2]
mov edi, eax
add ecx, edx
xor eax, eax
mov dword [esp + 0x20], ecx
lea edx, [ecx + 0x655054]
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]
lea ecx, [esp + 0x7c]
call fcn.00445280
lea ecx, [esp + 0x35c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 6
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65699c], eax
mov eax, dword [ebp]
push 7
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656a1c], eax
mov edx, dword [ebp]
push 8
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6582fc], eax
mov eax, dword [ebp]
push 9
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65837c], eax
mov edx, dword [ebp]
push 0xa
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6583fc], eax
mov eax, dword [ebp]
push 0xb
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65847c], eax
mov edx, dword [ebp]
push 0xc
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6584fc], eax
mov eax, dword [ebp]
push 0xd
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65857c], eax
mov edx, dword [ebp]
push 0xe
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65661c], eax
mov eax, dword [ebp]
push 0xf
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65717c], eax
mov edx, dword [ebp]
push 0x10
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x27c]
mov dword [ebx*4 + 0x6571fc], eax
mov eax, dword [ebp]
push 0x11
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x9c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 2
call fcn.004453e0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 4]
lea ecx, [ecx + ecx*2]
mov edi, eax
xor eax, eax
lea edx, [edx + ecx*2 + 0x65727c]
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]
lea ecx, [esp + 0x9c]
call fcn.00445280
lea ecx, [esp + 0x27c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x12
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x3dc]
mov dword [ebx*4 + 0x65733c], eax
mov eax, dword [ebp]
push 0x13
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0xbc]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 3
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
add eax, ecx
or ecx, 0xffffffff
shl eax, 1
mov dword [esp + 0x18], eax
lea edx, [eax + 0x6573bc]
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 + 0xbc]
call fcn.00445280
lea ecx, [esp + 0x3dc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
lea eax, [esp + 0x29c]
push 0x14
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0xdc]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 4
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x18]
not ecx
sub edi, ecx
lea edx, [edx + 0x6573fc]
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 + 0xdc]
call fcn.00445280
lea ecx, [esp + 0x29c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x15
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x37c]
mov dword [ebx*4 + 0x6596c8], eax
mov eax, dword [ebp]
push 0x16
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0xfc]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 5
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
add eax, ecx
or ecx, 0xffffffff
shl eax, 4
mov dword [esp + 0x1c], eax
lea edx, [eax + 0x659748]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
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 + 0xfc]
call fcn.00445280
lea ecx, [esp + 0x37c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x17
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x659948], eax
mov eax, dword [ebp]
push 0x18
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6599c8], eax
mov edx, dword [ebp]
push 0x19
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x659a48], eax
mov eax, dword [ebp]
push 0x1a
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x659ac8], eax
mov edx, dword [ebp]
push 0x1b
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x2bc]
mov dword [ebx*4 + 0x65a188], eax
mov eax, dword [ebp]
push 0x1c
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x11c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 6
call fcn.004453e0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov edi, eax
xor eax, eax
lea edx, [ecx + 0x65a208]
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]
lea ecx, [esp + 0x11c]
call fcn.00445280
lea ecx, [esp + 0x2bc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x1d
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65a408], eax
mov eax, dword [ebp]
push 0x1e
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65a488], eax
mov edx, dword [ebp]
push 0x1f
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65a508], eax
mov eax, dword [ebp]
push 0x20
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65a588], eax
mov edx, dword [ebp]
push 0x21
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x40c]
mov dword [ebx*4 + 0x65b708], eax
mov eax, dword [ebp]
push 0x22
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x13c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 7
call fcn.004453e0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov edi, eax
xor eax, eax
lea edx, [ecx + 0x65b788]
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]
lea ecx, [esp + 0x13c]
call fcn.00445280
lea ecx, [esp + 0x40c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x23
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x2dc]
mov dword [ebx*4 + 0x65b988], eax
mov eax, dword [ebp]
push 0x24
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x15c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 8
call fcn.004453e0
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + 4]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x24]
lea edx, [ecx + eax*2]
or ecx, 0xffffffff
add eax, edx
mov dword [esp + 0x10], eax
lea edx, [eax + 0x65ba08]
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 + 0x15c]
call fcn.00445280
lea ecx, [esp + 0x2dc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
lea eax, [esp + 0x39c]
push 0x25
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x17c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 9
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
sub edi, ecx
lea edx, [edx + 0x65bca8]
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 + 0x17c]
call fcn.00445280
lea ecx, [esp + 0x39c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
lea eax, [esp + 0x2fc]
push 0x26
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x19c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0xa
call fcn.004453e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
shl edx, 8
mov edi, eax
xor eax, eax
lea edx, [edx + ecx + 0x65bf48]
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]
lea ecx, [esp + 0x19c]
call fcn.00445280
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x27
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65df48], eax
mov eax, dword [ebp]
push 0x28
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x659b48], eax
mov edx, dword [ebp]
lea eax, [esp + 0x3fc]
push 0x29
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x1bc]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0xb
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
sub edi, ecx
lea edx, [edx + 0x659bc8]
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 + 0x1bc]
call fcn.00445280
lea ecx, [esp + 0x3fc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x10]
push 0x46e08c
lea eax, [ecx + 0x659bc8]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
lea eax, [esp + 0x31c]
push 0x2a
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x4c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0xc
call fcn.004453e0
mov eax, dword [eax + 4]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx + 0x659e68]
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 + 0x4c]
call fcn.00445280
lea ecx, [esp + 0x31c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x10]
push 0x46e08c
lea eax, [ecx + 0x659e68]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
push 0x2b
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x3bc]
mov dword [ebx*4 + 0x65a608], eax
mov eax, dword [ebp]
push 0x2c
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x1fc]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 0xd
call fcn.004453e0
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov edi, eax
xor eax, eax
lea edx, [ecx + 0x65a688]
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]
lea ecx, [esp + 0x1fc]
call fcn.00445280
lea ecx, [esp + 0x3bc]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x10]
push 0x46e08c
lea eax, [ecx + 0x65a688]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
lea eax, [esp + 0x33c]
push 0x2d
push eax
mov ecx, ebp
call dword [edx + 0x14]
mov dword [esp + 0x2024], 0xe
push 0x20
lea ecx, [esp + 0x220]
push ecx
mov ecx, eax
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
sub edi, ecx
lea edx, [edx + 0x65a928]
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 + 0x21c]
call fcn.00445280
lea ecx, [esp + 0x33c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x10]
push 0x46e08c
lea eax, [ecx + 0x65a928]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
push 0x2e
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65dfc8], eax
mov eax, dword [ebp]
push 0x2f
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6585fc], eax
mov edx, dword [ebp]
push 0x30
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65e2cc], eax
mov eax, dword [ebp]
push 0x31
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65ac48], eax
mov edx, dword [ebp]
lea eax, [esp + 0x3ec]
push 0x32
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x23c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0xf
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x1c]
not ecx
sub edi, ecx
lea edx, [edx + 0x65acc8]
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 + 0x23c]
call fcn.00445280
lea ecx, [esp + 0x3ec]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebp]
push 0x33
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65aec8], eax
mov eax, dword [ebp]
push 0x34
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65af48], eax
mov edx, dword [ebp]
push 0x35
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65afc8], eax
mov eax, dword [ebp]
push 0x36
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65b048], eax
mov edx, dword [ebp]
push 0x37
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65867c], eax
mov eax, dword [ebp]
push 0x38
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6724cc], eax
mov edx, dword [ebp]
push 0x39
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x658c7c], eax
mov eax, dword [ebp]
push 0x3a
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x658d7c], eax
mov edx, dword [ebp]
push 0x3b
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656b3c], eax
mov eax, dword [ebp]
push 0x3c
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656c5c], eax
mov edx, dword [ebp]
push 0x3d
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656d7c], eax
mov eax, dword [ebp]
push 0x3e
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656dfc], eax
mov edx, dword [ebp]
push 0x3f
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656e7c], eax
mov eax, dword [ebp]
push 0x40
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65907c], eax
mov edx, dword [ebp]
push 0x41
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65671c], eax
mov eax, dword [ebp]
push 0x42
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65679c], eax
mov edx, dword [ebp]
push 0x43
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65669c], eax
mov eax, dword [ebp]
push 0x44
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6590fc], eax
mov edx, dword [ebp]
push 0x45
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65917c], eax
mov eax, dword [ebp]
push 0x46
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6591fc], eax
mov edx, dword [ebp]
push 0x47
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65927c], eax
mov eax, dword [ebp]
push 0x48
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x67254c], eax
mov edx, dword [ebp]
push 0x49
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x643a48], eax
mov eax, dword [ebp]
push 0x4a
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x655f9c], eax
mov edx, dword [ebp]
push 0x4b
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65629c], eax
mov eax, dword [ebp]
push 0x4c
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65631c], eax
mov edx, dword [ebp]
push 0x4d
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65639c], eax
mov eax, dword [ebp]
push 0x4e
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65641c], eax
mov edx, dword [ebp]
push 0x4f
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65649c], eax
mov eax, dword [ebp]
push 0x50
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65651c], eax
mov edx, dword [ebp]
push 0x51
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65659c], eax
mov eax, dword [ebp]
push 0x52
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65621c], eax
mov edx, dword [ebp]
push 0x53
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6725cc], eax
mov eax, dword [ebp]
push 0x54
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x67284c], eax
mov edx, dword [ebp]
push 0x55
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65a108], eax
mov eax, dword [ebp]
push 0x56
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65abc8], eax
mov edx, dword [ebp]
push 0x57
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65b688], eax
mov eax, dword [ebp]
push 0x58
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x655334], eax
mov edx, dword [ebp]
push 0x59
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6553b4], eax
mov eax, dword [ebp]
push 0x5a
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x673cf8], eax
mov edx, dword [ebp]
push 0x5b
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656efc], eax
mov eax, dword [ebp]
push 0x5c
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x656f7c], eax
mov edx, dword [ebp]
push 0x5d
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65611c], eax
mov eax, dword [ebp]
push 0x5e
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65619c], eax
mov edx, dword [ebp]
push 0x5f
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65937c], eax
mov eax, dword [ebp]
push 0x60
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6751bc], eax
mov edx, dword [ebp]
push 0x61
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65609c], eax
mov eax, dword [ebp]
push 0x62
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6552b4], eax
mov edx, dword [ebp]
push 0x63
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6752c8], eax
mov eax, dword [ebp]
push 0x64
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x675348], eax
mov edx, dword [ebp]
push 0x65
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6758cc], eax
mov eax, dword [ebp]
push 0x66
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x65601c], eax
mov edx, dword [ebp]
push 0x67
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
test eax, eax
jle 0x40e5eb
cmp eax, 0x15
jl 0x40e5ed
xor eax, eax
mov dword [ebx*4 + 0x675960], eax
mov eax, dword [ebp]
push 0x68
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x675a60], eax
mov edx, dword [ebp]
lea eax, [esp + 0x6c]
push 0x69
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x5c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x10
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
add ecx, eax
xor eax, eax
lea edx, [ecx + edx*8 + 0x675ae0]
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 + 0x5c]
call fcn.00445280
lea ecx, [esp + 0x6c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x18]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
push 0x6a
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0xac]
mov dword [ebx*4 + 0x65b0c8], eax
mov eax, dword [ebp]
push 0x6b
push ecx
mov ecx, ebp
call dword [eax + 0x14]
lea edx, [esp + 0x8c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 0x11
call fcn.004453e0
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov edi, eax
xor eax, eax
lea edx, [ecx + 0x65b148]
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]
lea ecx, [esp + 0x8c]
call fcn.00445280
lea ecx, [esp + 0xac]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x10]
push 0x46e08c
lea eax, [ecx + 0x65b148]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
lea eax, [esp + 0xec]
push 0x6c
push eax
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0xcc]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x12
call fcn.004453e0
mov eax, dword [eax + 4]
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x10]
not ecx
sub edi, ecx
lea edx, [edx + 0x65b3e8]
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x18], 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
or esi, 0xffffffff
lea ecx, [esp + 0xec]
mov dword [esp + 0x2024], esi
call fcn.00445280
mov ecx, dword [esp + 0x18]
push 0x46e08c
push ecx
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edx, dword [ebp]
push 0x6d
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x676000], eax
mov eax, dword [ebp]
push 0x6e
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebx*4 + 0x6763e0], eax
mov edx, dword [ebp]
push 0x6f
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [esp + 0x14]
mov dword [ebx*4 + 0x676460], eax
xor eax, eax
mov dword [ebx*4 + 0x67523c], eax
mov dword [ebx*4 + 0x6592fc], eax
mov eax, dword [esp + 0x30]
mov dword [ebx*4 + 0x65e048], esi
mov dword [ebx*4 + 0x65e1c8], esi
lea edx, [eax + ecx]
lea eax, [edx + edx*4 + 0x656a9c]
mov edi, str.____
mov dword [esp + 0x18], eax
mov ecx, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
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]
or ecx, 0xffffffff
mov edi, str.____
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [edx + edx*4 + 0x656bbc]
mov eax, ecx
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
lea edx, [edx + edx*4 + 0x656cdc]
rep movsb byte es:[edi], byte [esi]
mov edi, str.____
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov edi, str.________________________________
shl ecx, 5
add edx, ecx
or ecx, 0xffffffff
lea edx, [eax + edx + 0x673d78]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebx*4 + 0x676360]
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, 0x472bc0
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]
mov ecx, dword [esp + 0x20]
mov edi, 0x472bbc
lea esi, [ecx + 0x655054]
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x40e959
test al, al
je 0x40e955
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x40e959
add esi, 2
add edi, 2
test al, al
jne 0x40e931
xor eax, eax
jmp 0x40e95e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edx, dword [esp + 0x20]
mov edi, 0x472bb8
lea ecx, [edx + 0x655054]
mov dword [esp + 0x10], ecx
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40e99f
test al, al
je 0x40e99b
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40e99f
add esi, 2
add edi, 2
test al, al
jne 0x40e97b
xor eax, eax
jmp 0x40e9a4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x472bb4
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40e9d7
test al, al
je 0x40e9d3
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40e9d7
add esi, 2
add edi, 2
test al, al
jne 0x40e9b3
xor eax, eax
jmp 0x40e9dc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x472bb0
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40ea0f
test al, al
je 0x40ea0b
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40ea0f
add esi, 2
add edi, 2
test al, al
jne 0x40e9eb
xor eax, eax
jmp 0x40ea14
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x472bac
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40ea47
test al, al
je 0x40ea43
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40ea47
add esi, 2
add edi, 2
test al, al
jne 0x40ea23
xor eax, eax
jmp 0x40ea4c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x472ba8
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40ea7f
test al, al
je 0x40ea7b
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40ea7f
add esi, 2
add edi, 2
test al, al
jne 0x40ea5b
xor eax, eax
jmp 0x40ea84
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x472ba4
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40eab7
test al, al
je 0x40eab3
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40eab7
add esi, 2
add edi, 2
test al, al
jne 0x40ea93
xor eax, eax
jmp 0x40eabc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x46f4e0
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40eaeb
test al, al
je 0x40eae7
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40eaeb
add esi, 2
add edi, 2
test al, al
jne 0x40eac7
xor eax, eax
jmp 0x40eaf0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40eb2c
mov edi, 0x46f4dc
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40eb1f
test al, al
je 0x40eb1b
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40eb1f
add esi, 2
add edi, 2
test al, al
jne 0x40eafb
xor eax, eax
jmp 0x40eb24
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ebaf
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov edi, str.0000000000
lea ecx, [eax + eax*4]
add eax, edx
mov dword [edx + 0x643a40], 1
lea esi, [eax + ecx*2 + 0x655154]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x18], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
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 ecx, dword [esp + 0x20]
lea esi, [edx + 0x6758c8]
mov dword [esp + 0x18], esi
lea edi, [ecx + 0x655054]
or ecx, 0xffffffff
mov dword [esp + 0x10], edi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
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 + 0x10]
jmp 0x40ebb3
mov edx, dword [esp + 0x24]
mov edi, 0x472b94
mov esi, ecx
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x40ebde
test al, al
je 0x40ebda
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x40ebde
add esi, 2
add edi, 2
test al, al
jne 0x40ebba
xor eax, eax
jmp 0x40ebe3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40ec8d
mov esi, dword [esp + 0x10]
mov edi, 0x472b90
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x40ec18
test al, al
je 0x40ec14
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x40ec18
add esi, 2
add edi, 2
test al, al
jne 0x40ebf4
xor eax, eax
jmp 0x40ec1d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40ec8d
mov esi, dword [esp + 0x10]
mov edi, 0x472b8c
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x40ec4e
test al, al
je 0x40ec4a
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x40ec4e
add esi, 2
add edi, 2
test al, al
jne 0x40ec2a
xor eax, eax
jmp 0x40ec53
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40ec8d
mov esi, dword [esp + 0x10]
mov edi, 0x472b88
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x40ec84
test al, al
je 0x40ec80
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x40ec84
add esi, 2
add edi, 2
test al, al
jne 0x40ec60
xor eax, eax
jmp 0x40ec89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ec97
mov dword [edx + 0x6728cc], 1
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
lea edx, [edx + 0x654910]
mov edi, 0x472b84
mov dword [edx + 0x1dfc0], 0
mov dword [eax], 0
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x40ecde
test cl, cl
je 0x40ecda
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40ecde
add esi, 2
add edi, 2
test cl, cl
jne 0x40ecba
xor ecx, ecx
jmp 0x40ece3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x40edc7
mov esi, dword [esp + 0x10]
mov edi, 0x472b94
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x40ed18
test cl, cl
je 0x40ed14
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40ed18
add esi, 2
add edi, 2
test cl, cl
jne 0x40ecf4
xor ecx, ecx
jmp 0x40ed1d
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x40edc7
mov esi, dword [esp + 0x10]
mov edi, 0x472b90
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x40ed52
test cl, cl
je 0x40ed4e
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40ed52
add esi, 2
add edi, 2
test cl, cl
jne 0x40ed2e
xor ecx, ecx
jmp 0x40ed57
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x40edc7
mov esi, dword [esp + 0x10]
mov edi, 0x472b8c
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x40ed88
test cl, cl
je 0x40ed84
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40ed88
add esi, 2
add edi, 2
test cl, cl
jne 0x40ed64
xor ecx, ecx
jmp 0x40ed8d
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x40edc7
mov esi, dword [esp + 0x10]
mov edi, 0x472b88
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x40edbe
test cl, cl
je 0x40edba
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x40edbe
add esi, 2
add edi, 2
test cl, cl
jne 0x40ed9a
xor ecx, ecx
jmp 0x40edc3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x40edcd
mov dword [eax], 1
mov ecx, dword [esp + 0x10]
mov edi, 0x472b80
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x40edfc
test al, al
je 0x40edf8
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x40edfc
add esi, 2
add edi, 2
test al, al
jne 0x40edd8
xor eax, eax
jmp 0x40ee01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ee19
mov eax, dword [esp + 0x24]
lea eax, [eax + 0x654910]
mov dword [eax - 0x10ecc], 1
mov edi, 0x472b7c
mov esi, ecx
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40ee48
test al, al
je 0x40ee44
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40ee48
add esi, 2
add edi, 2
test al, al
jne 0x40ee20
xor eax, eax
jmp 0x40ee4d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40fbf0
mov ecx, dword [esp + 0x24]
mov eax, dword [0x5190cc]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x101c]
lea edi, [ecx + 0x654910]
inc eax
push str.SELECT_input1_savetrans1_reverse1_impulse1_debounce1_output11_idtime11_time11_timekind11_output12_idtime12_time12_timekind12_output13_idtime13_time13_timekind13_output14_idtime14_time14_timekind14_output15_idtime15_time15_timekind15_output16_idtime16_time16_timekind16_output17_idtime17_time17_timekind17_output18_idtime18_time18_timekind18_input2_savetrans2_reverse2_impulse2_debounce2_output21_idtime21_time21_timekind21_output22_idtime22_time22_timekind22_output23_idtime23_time23_timekind23_output24_idtime24_time24_timekind24_output25_idtime25_time25_timekind25_output26_idtime26_time26_timekind26_output27_idtime27_time27_timekind27_output28_idtime28_time28_timekind28_input3_savetrans3_reverse3_impulse3_debounce3_output31_idtime31_time31_timekind31_output32_idtime32_time32_timekind32_output33_idtime33_time33_timekind33_output34_idtime34_time34_timekind34_output35_idtime35_time35_timekind35_output36_idtime36_time36_timekind36_output37_idtime37_time37_timekind37_output38_idtime38_time38_timekind38_
push edx
mov dword [edi + 0x9938], 1
mov dword [0x5190cc], eax
mov dword [ebx*4 + 0x65e24c], eax
call esi
lea eax, [esp + 0x424]
push str.input4_savetrans4_reverse4_impulse4_debounce4_output41_idtime41_time41_timekind41_output42_idtime42_time42_timekind42_output43_idtime43_time43_timekind43_output44_idtime44_time44_timekind44_output45_idtime45_time45_timekind45_output46_idtime46_time46_timekind46_output47_idtime47_time47_timekind47_output48_idtime48_time48_timekind48_input5_savetrans5_reverse5_impulse5_debounce5_output51_idtime51_time51_timekind51_output52_idtime52_time52_timekind52_output53_idtime53_time53_timekind53_output54_idtime54_time54_timekind54_output55_idtime55_time55_timekind55_output56_idtime56_time56_timekind56_output57_idtime57_time57_timekind57_output58_idtime58_time58_timekind58_input6_savetrans6_reverse6_impulse6_debounce6_output61_idtime61_time61_timekind61_output62_idtime62_time62_timekind62_output63_idtime63_time63_timekind63_output64_idtime64_time64_timekind64_output65_idtime65_time65_timekind65_output66_idtime66_time66_timekind66_output67_idtime67_time67_timekind67_output68_idtime68_time68_timekind68_
push eax
call esi
lea ecx, [esp + 0xc2c]
push str.input7_savetrans7_reverse7_impulse7_debounce7_output71_idtime71_time71_timekind71_output72_idtime72_time72_timekind72_output73_idtime73_time73_timekind73_output74_idtime74_time74_timekind74_output75_idtime75_time75_timekind75_output76_idtime76_time76_timekind76_output77_idtime77_time77_timekind77_output78_idtime78_time78_timekind78_input8_savetrans8_reverse8_impulse8_debounce8_output81_idtime81_time81_timekind81_output82_idtime82_time82_timekind82_output83_idtime83_time83_timekind83_output84_idtime84_time84_timekind84_output85_idtime85_time85_timekind85_output86_idtime86_time86_timekind86_output87_idtime87_time87_timekind87_output88_idtime88_time88_timekind88_
push ecx
call esi
mov edx, dword [ebx*4 + 0x643948]
mov eax, dword [edi - 0x10fcc]
mov ecx, dword [0x476edd0]
push edx
push eax
push ecx
push 0x476ed38
lea edx, [esp + 0x844]
push str.desdev1_outdev1_idtimedev1_timedev1_timekinddev1_desdev2_outdev2_idtimedev2_timedev2_timekinddev2_desdev3_outdev3_idtimedev3_timedev3_timekinddev3_desdev4_outdev4_idtimedev4_timedev4_timekinddev4_desdev5_outdev5_idtimedev5_timedev5_timekinddev5_desdev6_outdev6_idtimedev6_timedev6_timekinddev6_desdev7_outdev7_idtimedev7_timedev7_timekinddev7_desdev8_outdev8_idtimedev8_timedev8_timekinddev8_desdidoplusin1_desdidoplusin2_desdidoplusin3_desdidoplusin4_desdidoplusin5_desdidoplusin6_desdidoplusin7_desdidoplusin8_idaction1_idaction2_idaction3_idaction4_idaction5_idaction6_idaction7_idaction8_FROM_GATC__sDIDOPLUS_WHERE_kcom_d_and_channel_d_and_device_d
push edx
call esi
lea edi, [esp + 0x104c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x30
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x41c]
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0xc1c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x81c]
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
xor edi, edi
dec ecx
cmp edx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], ecx
jle 0x40ef51
mov ecx, edx
lea edi, [esp + ebx + 0x101c]
mov eax, ecx
lea esi, [esp + 0x41c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x28]
xor edi, edi
xor ecx, ecx
cmp esi, edi
mov dword [esp + 0x1c], ecx
jle 0x40ef86
lea ecx, [eax + ebx]
lea edi, [esp + ecx + 0x101c]
mov ecx, esi
mov edx, ecx
lea esi, [esp + 0xc1c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
xor edi, edi
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x20]
xor edx, edx
cmp esi, edi
jle 0x40efb8
add ecx, eax
add ecx, ebx
lea edi, [esp + ecx + 0x101c]
mov ecx, esi
mov edx, ecx
lea esi, [esp + 0x81c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
xor edi, edi
add edx, ecx
push 1
add edx, eax
sub esp, 0x10
add edx, ebx
lea eax, [esp + 0x1030]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov byte [esp + edx + 0x1034], 0
call fcn.00445210
mov ecx, dword [0x516f90]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov ebx, eax
xor eax, eax
cmp ebx, edi
sete al
cmp eax, edi
mov dword [0x476ecf4], eax
jne 0x40fbec
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
test al, al
jne 0x40fbec
mov al, byte [ebx + 4]
test al, al
jne 0x40fbd7
mov eax, dword [0x5190cc]
mov esi, 2
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*8]
lea eax, [eax + edx*2]
shl eax, 3
mov dword [eax + 0x46054f0], edi
mov dword [eax + 0x46054f4], edi
mov dword [eax + 0x46054f8], edi
mov dword [eax + 0x46054fc], edi
mov dword [eax + 0x4605500], edi
mov dword [eax + 0x4605504], edi
mov dword [eax + 0x4605508], edi
mov dword [eax + 0x460550c], edi
mov dword [eax + 0x4605510], edi
mov dword [eax + 0x4605514], edi
mov dword [eax + 0x4605518], edi
mov dword [eax + 0x460551c], edi
mov dword [eax + 0x4605520], edi
mov dword [eax + 0x4605524], edi
mov dword [eax + 0x4605528], edi
mov dword [eax + 0x460552c], edi
mov dword [eax + 0x4605570], edi
mov dword [eax + 0x4605574], edi
mov dword [eax + 0x4605578], edi
mov dword [eax + 0x460557c], edi
mov dword [eax + 0x4605580], edi
mov dword [eax + 0x4605584], edi
mov dword [eax + 0x4605588], edi
mov dword [eax + 0x460558c], edi
mov eax, dword [ebx]
lea ecx, [esi - 1]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push esi
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
mov ecx, ebx
mov dword [edx*4 + 0x4605610], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
lea ecx, [esi + 1]
push ecx
mov ecx, ebx
mov dword [edx*4 + 0x4605630], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
lea ecx, [esi + 2]
push ecx
mov ecx, ebx
mov dword [edx*4 + 0x46055f0], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
lea ecx, [esi + 3]
push ecx
mov ecx, ebx
mov dword [edx*4 + 0x46055d0], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
mov dword [esp + 0x14], 0
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [esi - 2]
mov dword [esp + 0x20], edx
lea ecx, [edi + ecx*2]
shl ecx, 2
add esi, 5
mov dword [ecx + 0x46055b0], eax
mov dword [ecx + 0x4605590], eax
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov edx, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [esi - 1]
mov ecx, ebx
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push esi
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov edx, dword [esp + 0x18]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x20]
lea edi, [edx*8]
add ecx, edi
mov dword [ecx*4 + 0x4605650], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov edx, dword [esp + 0x14]
lea ecx, [edx + ecx*2]
add ecx, edi
mov dword [ecx*4 + 0x4605750], eax
mov edx, dword [ebx]
lea eax, [esi + 1]
mov ecx, ebx
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
add esi, 2
push esi
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov edx, dword [esp + 0x18]
lea ecx, [edx + ecx*2]
add ecx, edi
mov dword [ecx*4 + 0x4605850], eax
mov edx, dword [ebx]
lea eax, [esp + 0x130]
mov ecx, ebx
push eax
call dword [edx + 0x14]
lea ecx, [esp + 0x10c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x13
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 + 0x48]
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 + 0x10c]
call fcn.00445280
lea ecx, [esp + 0x12c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0045c810
mov ecx, dword [0x5190cc]
add esp, 4
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x14]
lea esi, [ecx + edx*2]
mov edx, dword [esp + 0x1c]
shl edx, 3
add esi, edx
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esi*4 + 0x4605950], eax
mov esi, dword [esp + 0x20]
mov eax, 4
mov dword [esp + 0x14], ecx
add esi, eax
add edx, eax
cmp ecx, 8
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], edx
jl 0x40f1c1
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esi, 0x25
inc edi
cmp esi, 0x12a
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
jl 0x40f0ca
mov eax, dword [esp + 0x10]
xor ecx, ecx
add eax, 0xa
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
add eax, 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx]
lea edx, [esp + 0x16c]
push ecx
push edx
mov ecx, ebx
call dword [eax + 0x14]
lea ecx, [esp + 0x14c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x14
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x20]
or ecx, 0xffffffff
lea edx, [eax + edx*8 + 0x4605a50]
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 + 0x14c]
call fcn.00445280
lea ecx, [esp + 0x16c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov esi, dword [esp + 0x28]
mov edx, dword [ebx]
mov ecx, ebx
lea eax, [esi - 1]
push eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
mov edi, dword [esp + 0x14]
push esi
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
mov ecx, ebx
mov dword [edx*4 + 0x4605b48], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
lea ecx, [esi + 1]
push ecx
mov ecx, ebx
mov dword [edx*4 + 0x4605b68], eax
mov eax, dword [ebx]
call dword [eax + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
lea edx, [edi + ecx*2]
mov dword [edx*4 + 0x4605b88], eax
mov eax, dword [ebx]
add esi, 2
lea ecx, [esp + 0x1ac]
push esi
push ecx
mov ecx, ebx
call dword [eax + 0x14]
lea edx, [esp + 0x18c]
push 0x20
push edx
mov ecx, eax
mov dword [esp + 0x202c], 0x15
call fcn.004453e0
mov edx, dword [eax + 4]
mov eax, dword [0x5190cc]
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*2]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*2]
lea ecx, [edi + eax*4]
mov edi, edx
xor eax, eax
lea esi, [ecx*2 + 0x4605ba8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, esi
mov edx, ecx
mov esi, edi
mov edi, eax
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 + 0x18c]
call fcn.00445280
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov esi, dword [0x5190cc]
lea ecx, [esi + esi*8]
lea eax, [esi + ecx*2]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*8]
lea eax, [esi + edx*2]
lea eax, [ecx + eax*4]
lea edi, [eax*2 + 0x4605ba8]
mov eax, 0x470e70
mov dword [esp + 0x18], edi
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x40f572
test cl, cl
je 0x40f56e
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x40f572
add edi, 2
add eax, 2
test cl, cl
jne 0x40f54e
xor eax, eax
jmp 0x40f577
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40f599
lea eax, [esi + esi*8]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
lea edx, [esi + ecx*2]
lea ecx, [eax + edx*2]
mov dword [ecx*4 + 0x4605b88], 0x80
mov edi, dword [esp + 0x18]
mov eax, 0x471e68
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x40f5c6
test cl, cl
je 0x40f5c2
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x40f5c6
add edi, 2
add eax, 2
test cl, cl
jne 0x40f5a2
xor eax, eax
jmp 0x40f5cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40f5ed
lea eax, [esi + esi*8]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x14]
lea edx, [esi + ecx*2]
lea ecx, [eax + edx*2]
mov dword [ecx*4 + 0x4605b88], 0x81
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov eax, 5
add ecx, eax
add edi, eax
mov eax, dword [esp + 0x20]
inc esi
add eax, 0x1f
mov dword [esp + 0x10], ecx
cmp eax, 0xf8
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
jl 0x40f37c
mov edx, dword [ebx]
lea eax, [esp + 0x1ec]
push 0x151
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x1cc]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x16
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605bb8]
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 + 0x1cc]
call fcn.00445280
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x22c]
push 0x152
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x20c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x17
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605be1]
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 + 0x20c]
call fcn.00445280
lea ecx, [esp + 0x22c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x26c]
push 0x153
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x24c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x18
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605c0a]
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 + 0x24c]
call fcn.00445280
lea ecx, [esp + 0x26c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x2ac]
push 0x154
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x28c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x19
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605c33]
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 + 0x28c]
call fcn.00445280
lea ecx, [esp + 0x2ac]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x2ec]
push 0x155
push eax
mov ecx, ebx
call dword [edx + 0x14]
mov dword [esp + 0x2024], 0x1a
push 0x20
lea ecx, [esp + 0x2d0]
push ecx
mov ecx, eax
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605c5c]
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 + 0x2cc]
call fcn.00445280
lea ecx, [esp + 0x2ec]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x32c]
push 0x156
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x30c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x1b
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605c85]
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 + 0x30c]
call fcn.00445280
lea ecx, [esp + 0x32c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x36c]
push 0x157
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x34c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x1c
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605cae]
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 + 0x34c]
call fcn.00445280
lea ecx, [esp + 0x36c]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
lea eax, [esp + 0x3ac]
push 0x158
push eax
mov ecx, ebx
call dword [edx + 0x14]
lea ecx, [esp + 0x38c]
push 0x20
push ecx
mov ecx, eax
mov dword [esp + 0x202c], 0x1d
call fcn.004453e0
mov edi, dword [eax + 4]
mov eax, dword [0x5190cc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [edx*8 + 0x4605cd7]
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 + 0x38c]
call fcn.00445280
lea ecx, [esp + 0x3ac]
mov dword [esp + 0x2024], 0xffffffff
call fcn.00445280
mov edx, dword [ebx]
push 0x159
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x15a
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d00], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
push 0x15b
mov dword [ecx*8 + 0x4605d04], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x15c
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d08], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x15d
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d0c], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x15e
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d10], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x15f
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d14], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 0x160
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d18], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
call fcn.0045f9d8
mov ecx, dword [0x5190cc]
push 1
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*2]
mov dword [ecx*8 + 0x4605d1c], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
cmp ebx, edi
je 0x40fbf0
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
jmp 0x40fbf0
mov dword [esp + 0x34], edi
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x20]
mov al, byte [ebp + 4]
test al, al
je 0x40d5cb
xor ebx, ebx
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
cmp ebp, ebx
je 0x40fc20
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
jmp 0x40fc20
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
add ecx, 0x19730
inc eax
mov dword [esp + 0x38], ecx
mov ecx, dword [0x476edd8]
add ebp, 0x32e6
add edi, 0xa2e0
add esi, 0xcb98
add edx, 0x32e60
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edx
jle 0x40d4cb
cmp dword [esp + 0x34], ebx
je 0x40fcac
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, dword [esp + 0x202c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40fcf0
mov ecx, dword [0x516f90]
lea eax, [esp + 0x3cc]
push eax
mov edx, dword [ecx]
call dword [edx + 0x24]
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 + 0x202c]
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 + 0x3cc]
call fcn.00445280
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x201c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2018
ret