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

Disassembly:
mov eax, 0x3f9c
call fcn.0045ec70
mov eax, dword [0x476ecf4]
push ebx
push ebp
push esi
test eax, eax
push edi
jne 0x42e383
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, 0x476030
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 2
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 esi, dword [esp + 0x3fc0]
lea ecx, [esp + 0x30]
push esi
push ecx
call fcn.0045eb70
lea edx, [esi + 2]
push 2
lea eax, [esp + 0x44]
push edx
push eax
mov byte [esp + 0x46], 0
call fcn.0045eb70
lea ecx, [esi + 4]
push 2
lea edx, [esp + 0x54]
push ecx
push edx
mov byte [esp + 0x5a], 0
call fcn.0045eb70
lea eax, [esi + 6]
push 2
lea ecx, [esp + 0x58]
push eax
push ecx
mov byte [esp + 0x6a], 0
call fcn.0045eb70
add esi, 8
push 2
lea edx, [esp + 0x5c]
push esi
push edx
mov byte [esp + 0x6e], 0
call fcn.0045eb70
mov eax, dword [esp + 0x3ffc]
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0x70]
push ecx
lea eax, [esp + 0x7c]
push edx
lea ecx, [esp + 0x7c]
push eax
lea edx, [esp + 0x78]
push ecx
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0xd4]
push eax
push ecx
mov byte [esp + 0x86], 0
call fcn.00414fa0
mov bl, byte [esp + 0x4014]
add esp, 0x5c
cmp bl, 0x30
jne 0x42d7d1
mov esi, dword [esp + 0x3fb0]
lea eax, [esi + esi*2]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov edx, dword [esp + 0x3fb4]
lea eax, [eax + eax*2]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax*4 + 0x65847c]
mov dword [esp + 0x14], ecx
jmp 0x42d84a
cmp bl, 0x31
jne 0x42d806
mov eax, dword [esp + 0x3fb0]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
lea ecx, [eax + edx*8]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x3fb4]
lea ecx, [eax + edx*8]
mov edx, dword [ecx*4 + 0x6584fc]
mov dword [esp + 0x14], edx
jmp 0x42d843
cmp bl, 0x32
jne 0x42d83b
mov eax, dword [esp + 0x3fb0]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*8]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x3fb4]
lea eax, [eax + edx*2]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [edx*4 + 0x65857c]
mov dword [esp + 0x14], eax
jmp 0x42d843
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x3fb0]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x37ac]
push ecx
push 0x476ed38
push str.SELECT_flenabcount_FROM_GATC__sAREE_WHERE_idarea_d
push edx
xor edi, edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x37ac]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x34], 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 0x42dd8e
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x24]
test al, al
jne 0x42dd8e
mov al, byte [ebp + 4]
test al, al
jne 0x42d8cd
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
mov edi, eax
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x42d8e2
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
test edi, edi
je 0x42dd8e
mov eax, dword [esp + 0x14]
push 0x476ed38
push 0x476ed38
push eax
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
lea ecx, [esp + 0x380c]
push str.SELECT_GATC__sAREERELE.kcom_GATC__sAREERELE.channel_GATC__sAREERELE.iddevice_GATC__sAREERELE.rele_GATC__sAREERELE.idtime_GATC__sAREERELE.time_GATC__sAREERELE.timekind_GATC__sAREERELE.numtocount_GATC__sAREERELE.actimode_GATC__sAREERELE.typecmp_GATC__sAREERELE.idcounter_GATD__sDEVICE.typedevice_FROM_GATC__sAREERELE_GATD__sDEVICE_WHERE_GATC__sAREERELE.kcomGATD__sDEVICE.idkcom_AND_GATC__sAREERELE.channelGATD__sDEVICE.cntchannel_AND_GATC__sAREERELE.iddeviceGATD__sDEVICE.iddevice_AND_GATC__sAREERELE.idarea_d_AND__GATC__sAREERELE.actimode0_OR_GATC__sAREERELE.actimode3_
push ecx
xor ebx, ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x68
lea edx, [esp + 0x37ac]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x34], 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 0x42dbc9
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x42dbc9
mov al, byte [ebp + 4]
test al, al
jne 0x42dbb4
lea eax, [esp + 0xac]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], eax
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x42dbb4
cmp ebx, 0x140
jge 0x42dbb4
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 2
mov ecx, ebp
mov dword [esp + ebx*4 + 0x330], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + ebx*4 + 0x82c], 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 + ebx*4 + 0x19b0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + ebx*4 + 0x2dac], 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 + ebx*4 + 0x28b0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x60]
mov dword [esp + ebx*4 + 0x23ac], eax
mov eax, dword [ebp]
push 7
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 + 0x1c]
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 + 0x60]
call fcn.00445280
mov eax, dword [ebp]
push 8
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 9
mov ecx, ebp
mov dword [esp + ebx*4 + 0x1eb0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x40]
mov dword [esp + ebx*4 + 0x14ac], eax
mov eax, dword [ebp]
push 0xa
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov edi, eax
or ecx, 0xffffffff
lea edx, [esp + edx + 0x10ec]
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 + 0x40]
call fcn.00445280
mov edx, dword [ebp]
push 0xb
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x50]
mov dword [esp + ebx*4 + 0x32ac], eax
mov eax, dword [ebp]
push 0xc
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]
mov edx, dword [esp + 0x10]
not ecx
sub edi, ecx
lea edx, [esp + edx + 0xd2c]
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 + 0x50]
call fcn.00445280
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edx, 2
add ecx, 3
mov dword [esp + 0x1c], edx
mov edx, dword [ebp]
mov dword [esp + 0x10], ecx
mov ecx, ebp
inc ebx
call dword [edx + 0x20]
mov al, byte [ebp + 4]
mov esi, dword [esp + 0x3fb0]
test al, al
je 0x42d9dd
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x42dbc9
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
lea eax, [esi + esi*2]
xor ebp, ebp
lea eax, [eax + eax*8]
lea eax, [esi + eax*8]
lea ecx, [eax + eax*2]
lea eax, [esi + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x3fb4]
lea edi, [eax + edx*8]
shl edi, 2
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0x65887c]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x6586fc]
test eax, eax
jne 0x42dc3d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3fb4]
lea ecx, [esp + 0x80]
push ecx
push ebp
push edx
push eax
push esi
call fcn.0042d120
add esp, 0x14
test eax, eax
jne 0x42dc2b
mov ebp, 1
mov ecx, dword [edi + 0x65887c]
test ebp, ebp
mov dword [esp + 0x1c], ecx
jne 0x42dd87
xor ebp, ebp
test ebx, ebx
jle 0x42dd87
lea edx, [esp + 0xac]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], edx
mov edi, dword [esp + ebp*4 + 0x32ac]
test edi, edi
jle 0x42dc8e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3fb4]
lea eax, [esp + 0x80]
push eax
push edi
push ecx
push edx
push esi
call fcn.0042d510
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
jl 0x42dd68
jmp 0x42dc92
mov eax, dword [esp + 0x20]
mov edx, dword [esp + ebp*4 + 0x14ac]
mov ecx, dword [esp + ebp*4 + 0x1eac]
cmp edx, 3
jne 0x42dcaf
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x6588fc]
test edi, edi
jg 0x42dcb7
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
lea edx, [esp + edx + 0x10ec]
push edx
push ecx
push eax
call fcn.0045d030
add esp, 0xc
test eax, eax
je 0x42dd68
mov eax, dword [esp + ebp*4 + 0x28ac]
mov ecx, dword [esp + 0x3fb4]
push eax
push ecx
push esi
call fcn.0042c330
add esp, 0xc
test eax, eax
je 0x42dd68
lea edx, [esp + 0x70]
mov edi, dword [esp + ebp*4 + 0x19ac]
push edx
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + ebp*4 + 0x23b4]
push edx
mov edx, dword [esp + ebp*4 + 0x2db8]
mov eax, dword [esp + ebp*4 + 0x838]
mov ecx, dword [esp + ebp*4 + 0x338]
push edx
mov edx, dword [esp + 0x20]
lea edx, [esp + edx + 0xd3c]
push edx
push edi
push eax
push ecx
call fcn.004210d0
add esp, 0x20
test eax, eax
je 0x42dd68
mov eax, dword [esp + ebp*4 + 0x82c]
push edi
push eax
mov eax, dword [esp + ebp*4 + 0x334]
push eax
mov eax, dword [0x476edd0]
push eax
call fcn.00459540
lea ecx, [esp + 0x80]
push ecx
call fcn.0044d170
add esp, 0x14
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc ebp
add edx, 2
add ecx, 3
cmp ebp, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
jl 0x42dc56
mov bl, byte [esp + 0x3fb8]
cmp bl, 0x30
jne 0x42ddbc
lea eax, [esi + esi*2]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov edx, dword [esp + 0x3fb4]
lea eax, [eax + eax*2]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax*4 + 0x6582fc]
mov dword [esp + 0x14], ecx
jmp 0x42de20
cmp bl, 0x31
jne 0x42ddea
lea eax, [esi + esi*2]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov edx, dword [esp + 0x3fb4]
lea eax, [eax + eax*2]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax*4 + 0x65837c]
mov dword [esp + 0x14], ecx
jmp 0x42de20
cmp bl, 0x32
jne 0x42de18
lea eax, [esi + esi*2]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov edx, dword [esp + 0x3fb4]
lea eax, [eax + eax*2]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [eax*4 + 0x6583fc]
mov dword [esp + 0x14], ecx
jmp 0x42de20
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x37ac]
push edx
push 0x476ed38
push str.SELECT_flenabcount_numtomax_flonlyenab_FROM_GATC__sAREE_WHERE_idarea_d
push eax
xor edi, edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x37ac]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00445210
mov ecx, dword [0x516f90]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
test eax, eax
mov dword [0x476ecf4], eax
jne 0x42e378
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x24]
test al, al
jne 0x42e378
mov al, byte [ebx + 4]
test al, al
jne 0x42dee8
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x10]
call fcn.0045f9d8
mov edi, eax
lea eax, [esi + esi*2]
push 2
lea ecx, [eax + eax*8]
lea eax, [esi + ecx*8]
mov ecx, dword [esp + 0x3fb8]
lea edx, [eax + eax*2]
lea eax, [esi + edx*2]
mov edx, dword [ebx]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov ecx, ebx
shl ebp, 2
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [ebp + 0x6588fc], eax
mov eax, dword [ebx]
push 3
mov ecx, ebx
call dword [eax + 0x10]
call fcn.0045f9d8
mov dword [ebp + 0x65877c], eax
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x1c]
test ebx, ebx
je 0x42defb
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
test edi, edi
je 0x42e378
mov ecx, dword [esp + 0x14]
push 0x476ed38
push 0x476ed38
push ecx
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
push 0x476ed38
lea edx, [esp + 0x380c]
push str.SELECT_GATC__sAREERELE.kcom_GATC__sAREERELE.channel_GATC__sAREERELE.iddevice_GATC__sAREERELE.rele_GATC__sAREERELE.idtime_GATC__sAREERELE.time_GATC__sAREERELE.timekind_GATC__sAREERELE.numtocount_GATC__sAREERELE.actimode_GATC__sAREERELE.typecmp_GATC__sAREERELE.idcounter_GATD__sDEVICE.typedevice_FROM_GATC__sAREERELE_GATD__sDEVICE_WHERE_GATC__sAREERELE.kcomGATD__sDEVICE.idkcom_AND_GATC__sAREERELE.channelGATD__sDEVICE.cntchannel_AND_GATC__sAREERELE.iddeviceGATD__sDEVICE.iddevice_AND_GATC__sAREERELE.idarea_d_AND__GATC__sAREERELE.actimode1_OR_GATC__sAREERELE.actimode3_
push edx
xor ebx, ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x68
lea eax, [esp + 0x37ac]
push 1
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], 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 0x42e1d2
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x24]
test al, al
jne 0x42e1d2
mov al, byte [ebp + 4]
test al, al
jne 0x42e1bd
lea ecx, [esp + 0xac]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ecx
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
test al, al
jne 0x42e1bd
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 2
mov ecx, ebp
mov dword [esp + ebx*4 + 0x330], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + ebx*4 + 0x82c], 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 + ebx*4 + 0x19b0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
mov dword [esp + ebx*4 + 0x2dac], 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 + ebx*4 + 0x28b0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x50]
mov dword [esp + ebx*4 + 0x23ac], eax
mov eax, dword [ebp]
push 7
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 + 0x18]
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 + 0x50]
call fcn.00445280
mov eax, dword [ebp]
push 8
mov ecx, ebp
call dword [eax + 0x10]
call fcn.0045f9d8
mov edx, dword [ebp]
push 9
mov ecx, ebp
mov dword [esp + ebx*4 + 0x1eb0], eax
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x40]
mov dword [esp + ebx*4 + 0x14ac], eax
mov eax, dword [ebp]
push 0xa
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + edx + 0x10ec]
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 + 0x40]
call fcn.00445280
mov edx, dword [ebp]
push 0xb
mov ecx, ebp
call dword [edx + 0x10]
call fcn.0045f9d8
lea ecx, [esp + 0x60]
mov dword [esp + ebx*4 + 0x32ac], eax
mov eax, dword [ebp]
push 0xc
push ecx
mov ecx, ebp
call dword [eax + 0x14]
mov edi, dword [eax + 4]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x10]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + edx + 0xd2c]
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 + 0x60]
call fcn.00445280
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add edx, 2
add ecx, 3
mov dword [esp + 0x18], edx
mov edx, dword [ebp]
mov dword [esp + 0x10], ecx
mov ecx, ebp
inc ebx
call dword [edx + 0x20]
mov al, byte [ebp + 4]
mov esi, dword [esp + 0x3fb0]
test al, al
je 0x42dff6
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
test ebp, ebp
je 0x42e1d2
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x3fb4]
lea eax, [esp + 0x80]
xor edi, edi
push eax
push 1
push ecx
push ebp
push esi
call fcn.0042d120
add esp, 0x14
test eax, eax
jne 0x42e1fd
mov edi, 1
lea eax, [esi + esi*2]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
lea eax, [eax + eax*2]
lea eax, [esi + eax*2]
lea ecx, [eax + eax*4]
lea ecx, [ebp + ecx*8]
xor ebp, ebp
shl ecx, 2
cmp edi, ebp
mov dword [esp + 0x24], ecx
mov edx, dword [ecx + 0x6587fc]
mov dword [esp + 0x1c], edx
jne 0x42e378
cmp ebx, ebp
jle 0x42e378
lea eax, [esp + 0xac]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], eax
jmp 0x42e24b
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + ebp*4 + 0x32ac]
test edi, edi
jle 0x42e390
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3fb4]
lea ecx, [esp + 0x80]
push ecx
push edi
push edx
push eax
push esi
call fcn.0042d510
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
jl 0x42e359
mov ecx, dword [esp + 0x24]
cmp dword [esp + ebp*4 + 0x14ac], 3
mov edx, dword [esp + ebp*4 + 0x1eac]
jne 0x42e2a0
mov edx, dword [ecx + 0x6588fc]
test edi, edi
jg 0x42e2a8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
lea ecx, [esp + ecx + 0x10ec]
push ecx
push edx
push eax
call fcn.0045d030
add esp, 0xc
test eax, eax
je 0x42e359
mov edx, dword [esp + ebp*4 + 0x28ac]
mov eax, dword [esp + 0x3fb4]
push edx
push eax
push esi
call fcn.0042c330
add esp, 0xc
test eax, eax
je 0x42e359
lea edx, [esp + 0x70]
mov edi, dword [esp + ebp*4 + 0x19ac]
push edx
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + ebp*4 + 0x23b4]
push edx
mov edx, dword [esp + ebp*4 + 0x2db8]
mov eax, dword [esp + ebp*4 + 0x838]
mov ecx, dword [esp + ebp*4 + 0x338]
push edx
mov edx, dword [esp + 0x20]
lea edx, [esp + edx + 0xd3c]
push edx
push edi
push eax
push ecx
call fcn.004210d0
add esp, 0x20
test eax, eax
je 0x42e359
mov eax, dword [esp + ebp*4 + 0x82c]
push edi
push eax
mov eax, dword [esp + ebp*4 + 0x334]
push eax
mov eax, dword [0x476edd0]
push eax
call fcn.00459540
lea ecx, [esp + 0x80]
push ecx
call fcn.0044d170
add esp, 0x14
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc ebp
add edx, 2
add ecx, 3
cmp ebp, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
jl 0x42e247
push 0x46054d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3f9c
ret
mov eax, dword [esp + 0x20]
jmp 0x42e289