Function at 0x406950
Capabilities:
Copy file
Create directory
Create thread
Persist via lnk shortcut
Read .ini file

Disassembly:
mov eax, 0x2f8c
call fcn.005e00d0
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0x2f88], eax
push ebx
push esi
mov esi, dword [esp + 0x2f98]
xor ebx, ebx
mov dword [esp + 8], esi
cmp esi, ebx
je 0x408589
cmp byte [esi], bl
je 0x408589
push 0x207
lea eax, [esp + 0x111d]
push ebx
push eax
mov byte [esp + 0x1124], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0xd9d]
push ebx
push ecx
mov byte [esp + 0xda4], bl
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x589]
push ebx
push edx
mov byte [esp + 0x590], bl
call fcn.005dfd60
push 0x207
lea eax, [esp + 0x1759]
push ebx
push eax
mov byte [esp + 0x1760], bl
call fcn.005dfd60
push 0x207
lea ecx, [esp + 0x1f85]
push ebx
push ecx
mov byte [esp + 0x1f8c], bl
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x1d89]
push ebx
push edx
mov byte [esp + 0x1d90], bl
call fcn.005dfd60
add esp, 0x48
push 0x207
lea eax, [esp + 0x2b85]
push ebx
push eax
mov byte [esp + 0x2b8c], bl
call fcn.005dfd60
push 0x207
lea ecx, [esp + 0x1949]
push ebx
push ecx
mov byte [esp + 0x1950], bl
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x2995]
push ebx
push edx
mov byte [esp + 0x299c], bl
call fcn.005dfd60
push 0x207
lea eax, [esp + 0x2db1]
push ebx
push eax
mov byte [esp + 0x2db8], bl
call fcn.005dfd60
push 0x207
lea ecx, [esp + 0x218d]
push ebx
push ecx
mov byte [esp + 0x2194], bl
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x27b1]
push ebx
push edx
mov byte [esp + 0x27b8], bl
call fcn.005dfd60
add esp, 0x48
push 0x207
lea eax, [esp + 0x2365]
push ebx
push eax
mov byte [esp + 0x236c], bl
call fcn.005dfd60
mov byte [esp + 0x2574], bl
push 0x207
lea ecx, [esp + 0x2579]
push ebx
push ecx
call fcn.005dfd60
push 0x207
lea edx, [esp + 0x1545]
push ebx
push edx
mov byte [esp + 0x154c], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x1349]
push ebx
push eax
mov byte [esp + 0x1350], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x1459]
push ebx
push ecx
mov byte [esp + 0x1460], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0xed1]
push ebx
push edx
mov byte [esp + 0xed8], bl
call fcn.005dfd60
add esp, 0x48
push 0x103
lea eax, [esp + 0x1019]
push ebx
push eax
mov byte [esp + 0x1020], bl
call fcn.005dfd60
mov eax, dword [esp + 0x2fb0]
add esp, 0xc
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
cmp eax, ebx
je 0x406bad
cmp byte [eax], bl
je 0x406bad
lea edx, [esp + 0x1528]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
cmp cl, bl
jne 0x406ba1
jmp 0x406bc2
lea edx, [esp + 0x1528]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
cmp cl, bl
jne 0x406bb8
xor eax, eax
jmp 0x406bd0
mov cl, byte [esp + eax + 0x1528]
mov byte [esp + eax + 0x2158], cl
inc eax
cmp cl, bl
jne 0x406bd0
lea ecx, [esp + 0x2158]
push edi
push ecx
call fcn.004e24e0
lea edi, [esp + 0x2160]
add esp, 4
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x406c00
mov ecx, 6
mov esi, str.apache_template_httpd.conf
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x152c]
mov byte [esp + eax + 0x2774], cl
inc eax
cmp cl, bl
jne 0x406c20
lea edx, [esp + 0x2774]
push edx
call fcn.004e24e0
lea eax, [esp + 0x2778]
add esp, 4
dec eax
jmp 0x406c50
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x406c50
mov ecx, dword [str.apache_ios_updater.conf]
mov edx, dword [0x60dcf8]
mov dword [eax], ecx
mov ecx, dword [0x60dcfc]
mov dword [eax + 4], edx
mov edx, dword [0x60dd00]
mov dword [eax + 8], ecx
mov ecx, dword [0x60dd04]
mov dword [eax + 0xc], edx
mov edx, dword [0x60dd08]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
xor eax, eax
nop
mov cl, byte [esp + eax + 0x152c]
mov byte [esp + eax + 0x2364], cl
inc eax
cmp cl, bl
jne 0x406c90
lea eax, [esp + 0x2364]
push eax
call fcn.004e24e0
lea edi, [esp + 0x2368]
add esp, 4
dec edi
jmp 0x406cc0
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x406cc0
mov ecx, 9
mov esi, str.httpd_vhosts_escan_application.conf
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x406ce0
mov cl, byte [esp + eax + 0x152c]
mov byte [esp + eax + 0x256c], cl
inc eax
cmp cl, bl
jne 0x406ce0
lea ecx, [esp + 0x256c]
push ecx
call fcn.004e24e0
lea edi, [esp + 0x2570]
add esp, 4
dec edi
jmp 0x406d10
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x406d10
mov ecx, 7
mov esi, str.apache_template_updater.conf
rep movsd dword es:[edi], dword [esi]
push ebp
push ebx
push str.eScan_Apache
movsb byte es:[edi], byte [esi]
call fcn.0050d920
push ebx
push str.eScan_Apache_New
mov edi, eax
call fcn.0050d920
push ebx
push str.eScan_Apache_Updater
mov ebp, eax
call fcn.0050d920
push ebx
push str.eScan_Apache_IOSUpdater
mov dword [esp + 0x40], eax
call fcn.0050d920
add esp, 0x20
mov dword [esp + 0x1c], eax
cmp edi, 1
jne 0x406d81
cmp dword [esp + 0x2fb4], ebx
jne 0x406d81
mov edx, dword [esp + 0x2fa4]
push edx
call fcn.00405df0
add esp, 4
jmp 0x406d8e
mov eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0xdb4]
push eax
push ebx
call fcn.00512330
lea ecx, [esp + 0xdbc]
push ecx
call fcn.004e24e0
add esp, 0x2c
push 0x60cf40
lea edx, [esp + 0xd98]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0xd94]
mov byte [esp + eax + 0x1940], cl
inc eax
cmp cl, bl
jne 0x406dd0
lea eax, [esp + 0x1940]
push eax
call fcn.004e24e0
lea eax, [esp + 0x1944]
add esp, 4
dec eax
jmp 0x406e00
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x406e00
mov ecx, dword [str.WebServer]
mov edx, dword [0x60dc6c]
mov dword [eax], ecx
mov cx, word [0x60dc70]
mov dword [eax + 4], edx
lea edx, [esp + 0x1940]
push edx
mov word [eax + 8], cx
lea eax, [esp + 0x2984]
push str._s_settempwebmain.dll
push eax
call fcn.005dfb23
lea ecx, [esp + 0x194c]
push ecx
lea edx, [esp + 0x2da0]
push str._swebmain.dll
push edx
call fcn.005dfb23
lea eax, [esp + 0xdac]
push ebx
push eax
call fcn.004e8c10
add esp, 0x20
test eax, eax
jne 0x406ece
push ebx
lea ecx, [esp + 0xd98]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x406ece
push 0x103
lea edx, [esp + 0x989]
push ebx
push edx
mov byte [esp + 0x990], bl
call fcn.005dfd60
lea eax, [esp + 0x990]
push 0x104
push eax
call fcn.004d8c20
lea ecx, [esp + 0x998]
push ecx
lea edx, [esp + 0xdac]
push edx
push str.ERROR____Unable_to_create_folder__s._Reason__s
call fcn.0055d640
add esp, 0x20
jmp 0x4074a6
xor eax, eax
mov cl, byte [esp + eax + 0xd94]
mov byte [esp + eax + 0x574], cl
inc eax
cmp cl, bl
jne 0x406ed0
lea eax, [esp + 0x574]
push eax
call fcn.004e24e0
lea eax, [esp + 0x578]
add esp, 4
dec eax
jmp 0x406f00
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x406f00
mov ecx, dword [str.Apache2]
mov edx, dword [0x60dc0c]
mov dword [eax], ecx
mov dword [eax + 4], edx
lea eax, [esp + 0x574]
push eax
lea ecx, [esp + 0xb90]
push str._sconf
push ecx
call fcn.005dfb23
lea edx, [esp + 0xb98]
push str.conf
push edx
call fcn.004ec4e0
add esp, 0x14
test eax, eax
jne 0x406fe6
lea esi, [eax + 1]
push esi
lea eax, [esp + 0x578]
push eax
lea ecx, [esp + 0xa90]
push str._sOldConf_u
push ecx
call fcn.005dfb23
lea edx, [esp + 0xa98]
push edx
call fcn.004ec720
add esp, 0x14
test eax, eax
je 0x406fb2
inc esi
push esi
lea eax, [esp + 0x578]
push eax
lea ecx, [esp + 0xa90]
push str._sOldConf_u
push ecx
call fcn.005dfb23
lea edx, [esp + 0xa98]
push edx
call fcn.004ec720
add esp, 0x14
test eax, eax
jne 0x406f82
push ebx
lea eax, [esp + 0xa8c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x406fe6
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0xaa0]
push ecx
push str.conf
lea edx, [esp + 0xbac]
push edx
call fcn.005017d0
cmp edi, ebx
je 0x407001
push 1
lea eax, [esp + 0x578]
push str.eScan_Apache
push eax
call fcn.0052af90
add esp, 0xc
cmp ebp, ebx
je 0x40701c
push 1
lea ecx, [esp + 0x578]
push str.eScan_Apache_New
push ecx
call fcn.0052af90
add esp, 0xc
cmp dword [esp + 0x20], ebx
je 0x407039
push 1
lea edx, [esp + 0x578]
push str.eScan_Apache_Updater
push edx
call fcn.0052af90
add esp, 0xc
cmp dword [esp + 0x1c], ebx
je 0x407056
push 1
lea eax, [esp + 0x578]
push str.eScan_Apache_IOSUpdater
push eax
call fcn.0052af90
add esp, 0xc
push str.WebServices
call fcn.005110b0
test eax, eax
je 0x407458
push 0x103
lea ecx, [esp + 0x885]
push ebx
push ecx
mov byte [esp + 0x88c], bl
call fcn.005dfd60
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x884]
push eax
push str.Port
push str.SoftwareMicroWorldWebServer
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x30], 0x104
call fcn.004d5770
cmp byte [esp + 0x880], bl
je 0x407458
lea ecx, [esp + 0x880]
push ecx
call fcn.005e0909
add esp, 4
cmp eax, 0x28cb
jne 0x407458
push 0x103
lea edx, [esp + 0x26d]
push ebx
push edx
mov byte [esp + 0x274], bl
call fcn.005dfd60
add esp, 0xc
push str.10444
lea eax, [esp + 0x884]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x880]
push ecx
push str.Port
push str.SoftwareMicroWorldWebServer
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004e7720
lea edx, [esp + 0x268]
push edx
push 1
mov byte [esp + 0x270], bl
call fcn.005135e0
add esp, 8
cmp byte [esp + 0x268], bl
je 0x40715a
push ebx
lea eax, [esp + 0x26c]
push eax
push 0x60c800
call fcn.0055d640
add esp, 0xc
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x268]
push ecx
push 2
mov byte [esp + 0x270], bl
call fcn.005135e0
add esp, 8
cmp byte [esp + 0x268], bl
je 0x40719d
push ebx
lea edx, [esp + 0x26c]
push edx
push 0x60c800
call fcn.0055d640
add esp, 0xc
lea eax, [esp + 0x77c]
push eax
call fcn.004e8ee0
add esp, 4
cmp byte [esp + 0x77c], bl
je 0x407458
lea ecx, [esp + 0x77c]
push ebx
push ecx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x407458
push 0x103
lea edx, [esp + 0xc95]
push ebx
push edx
mov byte [esp + 0xc9c], bl
call fcn.005dfd60
add esp, 0xc
lea eax, [esp + 0x77c]
push eax
lea ecx, [esp + 0x168]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x164]
push edx
call fcn.004e24e0
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 4
push 0x60dba0
lea eax, [esp + 0x168]
push eax
call ebp
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x168]
push edx
mov edi, 1
call fcn.004e0820
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x407287
lea esp, [esp]
cmp edi, ebx
je 0x407280
test byte [esp + 0x24], 0x10
jne 0x40726d
lea eax, [esp + 0x24]
push eax
push esi
call fcn.004d5ad0
add esp, 8
mov edi, eax
jmp 0x407250
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0xc94]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0xc90], bl
je 0x407458
push 0x103
lea eax, [esp + 0x371]
push ebx
push eax
mov byte [esp + 0x378], bl
call fcn.005dfd60
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 0xc
lea ecx, [esp + 0x77c]
push ecx
lea edx, [esp + 0x474]
push edx
call esi
lea eax, [esp + 0x470]
push eax
call fcn.004e24e0
add esp, 4
lea ecx, [esp + 0xc90]
push ecx
lea edx, [esp + 0x474]
push edx
call ebp
lea eax, [esp + 0x470]
push eax
lea ecx, [esp + 0x168]
push ecx
mov byte [esp + 0x98c], bl
call esi
lea edx, [esp + 0x164]
push edx
call fcn.004e24e0
add esp, 4
push 0x60db98
lea eax, [esp + 0x168]
push eax
call ebp
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x168]
push edx
mov esi, 1
call fcn.004e0820
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
je 0x407417
cmp esi, ebx
je 0x407410
test byte [esp + 0x24], 0x10
jne 0x4073e9
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x470]
push eax
lea ecx, [esp + 0x168]
push ecx
call esi
lea edx, [esp + 0x164]
push edx
call fcn.004e24e0
add esp, 4
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x168]
push ecx
call ebp
lea edx, [esp + 0x36c]
push edx
push 0x104
lea eax, [esp + 0xb94]
push eax
lea ecx, [esp + 0x170]
push ecx
mov byte [esp + 0x37c], bl
mov byte [esp + 0xb9c], bl
call fcn.00521670
add esp, 0x10
cmp byte [esp + 0x36c], bl
je 0x4073e9
push ebx
lea edx, [esp + 0x370]
push str.:10443
push edx
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4073fe
lea eax, [esp + 0x24]
push eax
push edi
call fcn.004d5ad0
add esp, 8
mov esi, eax
jmp 0x407348
lea ecx, [esp + 0x164]
push ecx
lea edx, [esp + 0x988]
push edx
call esi
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0x984], bl
je 0x407458
cmp byte [esp + 0x36c], bl
je 0x407458
push str.10444
lea eax, [esp + 0x370]
push str.10443
push eax
call fcn.004e9030
lea ecx, [esp + 0x378]
push ecx
lea edx, [esp + 0x994]
push edx
call fcn.005217e0
add esp, 0x14
mov edi, 1
cmp dword [esp + 0x14], edi
jne 0x4074c1
lea eax, [esp + 0x1120]
push eax
lea ecx, [esp + 0xd98]
push ecx
lea edx, [esp + 0x1538]
push edx
call fcn.00405960
add esp, 0xc
test eax, eax
jne 0x4074c1
cmp byte [esp + 0x1120], bl
je 0x4074a6
push ebx
lea eax, [esp + 0x1124]
push eax
push 0x60c800
call fcn.0055d640
add esp, 0xc
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2f88]
xor ecx, esp
call fcn.005dfbbe
add esp, 0x2f8c
ret
push edi
push ebx
push ebx
push ebx
lea ecx, [esp + 0x2990]
push ebx
push ecx
call fcn.004e8950
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 0x18
test eax, eax
jne 0x407507
push ebx
lea edx, [esp + 0x2d94]
push edx
lea eax, [esp + 0x2988]
push eax
call esi
test eax, eax
je 0x407507
lea ecx, [esp + 0x2980]
push ecx
call fcn.004e0670
add esp, 4
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x1738], cl
add eax, edi
cmp cl, bl
jne 0x407510
lea edx, [esp + 0x1738]
push edx
call fcn.004e24e0
add esp, 4
xor eax, eax
jmp 0x407540
mov cl, byte [esp + eax + 0x1738]
mov byte [esp + eax + 0x2b88], cl
add eax, edi
cmp cl, bl
jne 0x407540
lea eax, [esp + 0x1738]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407560
mov ecx, dword [str.CONFhttpd.conf]
mov edx, dword [0x60db7c]
mov dword [eax], ecx
mov ecx, dword [0x60db80]
mov dword [eax + 4], edx
mov edx, dword [0x60db84]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esp + 0x2b88]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407593
mov ecx, dword [str.CONFhttpd_bak.conf]
mov edx, dword [0x60db68]
mov dword [eax], ecx
mov ecx, dword [0x60db6c]
mov dword [eax + 4], edx
mov edx, dword [0x60db70]
mov dword [eax + 8], ecx
mov ecx, dword [0x60db74]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
cmp dword [esp + 0x18], edi
jne 0x4075f0
push ebx
lea edx, [esp + 0x2b8c]
push edx
lea eax, [esp + 0x1740]
push eax
call esi
lea ecx, [esp + 0x1738]
push ecx
call fcn.004e0670
add esp, 4
push ebx
lea edx, [esp + 0x173c]
push edx
lea eax, [esp + 0x2168]
push eax
call esi
xor eax, eax
jmp 0x407610
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0xe98], cl
add eax, edi
cmp cl, bl
jne 0x407610
lea ecx, [esp + 0xe98]
push ecx
call fcn.004e24e0
lea eax, [esp + 0xe9c]
add esp, 4
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407640
mov edx, dword [str.CONF_]
mov cx, word [0x60db60]
mov dword [eax], edx
mov word [eax + 4], cx
lea eax, [esp + 0xe98]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407663
mov edx, dword [str.httpdupdater.conf]
mov ecx, dword [0x60db4c]
mov dword [eax], edx
mov edx, dword [0x60db50]
mov dword [eax + 4], ecx
mov ecx, dword [0x60db54]
mov dword [eax + 8], edx
mov dx, word [0x60db58]
mov dword [eax + 0xc], ecx
mov word [eax + 0x10], dx
push ebx
lea eax, [esp + 0xe9c]
push eax
lea ecx, [esp + 0x2168]
push ecx
call fcn.004edd70
mov esi, dword [esp + 0x2fbc]
mov edi, dword [esp + 0x2fb4]
mov ebp, dword [esp + 0x2fb0]
mov ecx, dword [esp + 0x1c]
push 5
push ebx
push ebx
push esi
push edi
push ebp
lea edx, [esp + 0xebc]
push edx
push 0x28cb
lea eax, [esp + 0x196c]
push eax
push ecx
lea edx, [esp + 0x5a8]
push edx
call fcn.004049e0
push 1
lea eax, [esp + 0x1468]
push eax
lea ecx, [esp + 0x1368]
push ecx
mov ecx, dword [esp + 0x54]
push esi
push edi
push ebp
lea edx, [esp + 0x1788]
push edx
push 0x28cb
lea eax, [esp + 0x1998]
push eax
push ecx
lea edx, [esp + 0x5d4]
push edx
call fcn.004049e0
add esp, 0x64
cmp ebp, ebx
je 0x407827
cmp esi, ebx
jne 0x407827
call fcn.004048e0
test eax, eax
je 0x407827
xor eax, eax
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x101c], cl
inc eax
cmp cl, bl
jne 0x407750
lea eax, [esp + 0x101c]
push eax
call fcn.004e24e0
lea eax, [esp + 0x1020]
add esp, 4
dec eax
jmp 0x407780
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407780
mov ecx, dword [str.CONF_]
mov dx, word [0x60db60]
mov dword [eax], ecx
mov word [eax + 4], dx
lea eax, [esp + 0x101c]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x4077a3
mov ecx, dword [str.apache_ios_updater.conf]
mov edx, dword [0x60dcf8]
mov dword [eax], ecx
mov ecx, dword [0x60dcfc]
mov dword [eax + 4], edx
mov edx, dword [0x60dd00]
mov dword [eax + 8], ecx
mov ecx, dword [0x60dd04]
mov dword [eax + 0xc], edx
mov edx, dword [0x60dd08]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
push ebx
lea eax, [esp + 0x1020]
push eax
lea ecx, [esp + 0x2780]
push ecx
call fcn.004edd70
mov ecx, dword [esp + 0x1c]
push 6
push ebx
push ebx
push ebx
push edi
push ebp
lea edx, [esp + 0x1040]
push edx
push 0x28cb
lea eax, [esp + 0x196c]
push eax
push ecx
lea edx, [esp + 0x5a8]
push edx
call fcn.004049e0
add esp, 0x38
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x1b48], cl
inc eax
cmp cl, bl
jne 0x407830
lea eax, [esp + 0x1b48]
push eax
call fcn.004e24e0
lea eax, [esp + 0x1b4c]
add esp, 4
dec eax
jmp 0x407860
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407860
mov ecx, dword [str.logsupdater]
mov edx, dword [0x60db40]
mov dword [eax], ecx
mov ecx, dword [0x60db44]
mov dword [eax + 4], edx
lea edx, [esp + 0x1b48]
push edx
mov dword [eax + 8], ecx
call fcn.004ec720
add esp, 4
test eax, eax
jne 0x4078a5
push ebx
lea eax, [esp + 0x1b4c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xor eax, eax
jmp 0x4078b0
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x1c4c], cl
inc eax
cmp cl, bl
jne 0x4078b0
lea ecx, [esp + 0x1c4c]
push ecx
call fcn.004e24e0
lea eax, [esp + 0x1c50]
add esp, 4
dec eax
jmp 0x4078e0
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x4078e0
mov edx, dword [str.LogsIOS]
mov ecx, dword [0x60db38]
mov dword [eax], edx
lea edx, [esp + 0x1c4c]
push edx
mov dword [eax + 4], ecx
call fcn.004ec720
add esp, 4
test eax, eax
jne 0x40791c
push ebx
lea eax, [esp + 0x1c50]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x1d50], cl
inc eax
cmp cl, bl
jne 0x407920
lea ecx, [esp + 0x1d50]
push ecx
call fcn.004e24e0
lea eax, [esp + 0x1d54]
add esp, 4
dec eax
jmp 0x407950
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407950
mov edx, dword [str.CONF_]
mov cx, word [0x60db60]
mov dword [eax], edx
mov word [eax + 4], cx
cmp ebp, ebx
je 0x4079b6
lea eax, [esp + 0x1d50]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407977
mov edx, dword [str.apache_escan_vhost.conf]
mov ecx, dword [0x60db20]
mov dword [eax], edx
mov edx, dword [0x60db24]
mov dword [eax + 4], ecx
mov ecx, dword [0x60db28]
mov dword [eax + 8], edx
mov edx, dword [0x60db2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x60db30]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp 0x4079e2
lea edi, [esp + 0x1d50]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x4079c0
mov ecx, 7
mov esi, str.apache_mailscan_vhosts.conf
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2fa8]
mov esi, dword [esp + 0x2fb0]
push ebx
lea edx, [esp + 0x1d54]
push edx
lea eax, [esp + 0x2370]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 2
lea ecx, [esp + 0x1430]
push ecx
lea edx, [esp + 0x1330]
push edx
mov edx, dword [esp + 0x1c]
push esi
push edi
push ebp
lea eax, [esp + 0x1d68]
push eax
push 0x28cb
lea ecx, [esp + 0x1960]
push ecx
push edx
lea eax, [esp + 0x59c]
push eax
call fcn.004049e0
add esp, 0x2c
cmp esi, ebx
jne 0x407a6c
push 1
push ebx
lea ecx, [esp + 0x1434]
lea edx, [esp + 0x1330]
push ecx
lea eax, [esp + 0x1744]
push edx
cmp ebp, ebx
je 0x407b88
push str.apache_escan_vhost.conf
push eax
call fcn.00405eb0
add esp, 0x18
cmp ebp, ebx
je 0x408332
xor eax, eax
jmp 0x407a80
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0x1f58], cl
inc eax
cmp cl, bl
jne 0x407a80
lea ecx, [esp + 0x1f58]
push ecx
call fcn.004e24e0
lea edi, [esp + 0x1f5c]
add esp, 4
dec edi
jmp 0x407ab0
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x407ab0
mov ecx, 8
mov esi, str.CONF_apache_template_updater.conf
rep movsd dword es:[edi], dword [esi]
push ebx
lea edx, [esp + 0x1f5c]
push edx
lea eax, [esp + 0x2578]
push eax
movsw word es:[edi], word [esi]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, dword [esp + 0x2fb0]
mov eax, dword [esp + 0x2fa8]
mov edi, dword [esp + 0x10]
push 4
lea ecx, [esp + 0x1430]
push ecx
lea edx, [esp + 0x1330]
push edx
push esi
push eax
mov ecx, ebp
push ecx
lea edx, [esp + 0x1f70]
push edx
push 0x28cb
lea eax, [esp + 0x1960]
push eax
lea ecx, [esp + 0x598]
push edi
push ecx
call fcn.004049e0
push 4
push esi
lea edx, [esp + 0x1460]
push edx
lea eax, [esp + 0x1360]
push eax
lea ecx, [esp + 0xed4]
push str.apache_template_updater.conf
push ecx
call fcn.00405eb0
add esp, 0x44
cmp esi, ebx
jne 0x407b67
push ebx
lea edx, [esp + 0x1f5c]
push edi
push edx
call fcn.00406530
add esp, 0xc
cmp byte [edi + 1], 0x3a
jne 0x407b9b
movsx eax, byte [edi]
push eax
lea ecx, [esp + 0xc94]
push str._c:pub_avxmir
push ecx
call fcn.005dfb23
add esp, 0xc
jmp 0x407bbf
push str.apache_mailscan_vhosts.conf
push eax
call fcn.00405eb0
add esp, 0x18
jmp 0x408332
lea edx, [esp + 0xc90]
push str.__ESCANDRIVE__pub_avxmir
push edx
call fcn.005dfb23
add esp, 8
push 1
lea eax, [esp + 0xc94]
push eax
call fcn.00515650
lea ecx, [esp + 0xc90]
push ecx
call fcn.004ec720
add esp, 4
test eax, eax
jne 0x407be8
lea edx, [esp + 0xc90]
push 0x60c81c
push edx
call fcn.004e9050
add esp, 8
lea edx, [esp + 0x268]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
cmp cl, bl
jne 0x407bf3
lea eax, [esp + 0x268]
push eax
call fcn.004e24e0
lea eax, [esp + 0x26c]
add esp, 4
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407c15
mov ecx, dword [str.eupdate.ini]
mov edx, dword [0x60daa8]
mov dword [eax], ecx
mov ecx, dword [0x60daac]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0xa88], cl
inc eax
cmp cl, bl
jne 0x407c40
lea edx, [esp + 0xa88]
push edx
call fcn.004e24e0
lea edi, [esp + 0xa8c]
add esp, 4
dec edi
jmp 0x407c70
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x407c70
mov ecx, 5
mov esi, str.eScanMirrormirror.cnf
rep movsd dword es:[edi], dword [esi]
push 1
push ebx
push ebx
movsw word es:[edi], word [esi]
push ebx
lea eax, [esp + 0xa98]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.004e8950
add esp, 0x18
test eax, eax
jne 0x408332
push 0x103
lea ecx, [esp + 0x169]
push ebx
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x170], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x37d]
push ebx
push edx
mov byte [esp + 0x384], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x154d]
push ebx
push eax
mov byte [esp + 0x1554], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x8a9]
push ebx
push ecx
mov byte [esp + 0x8b0], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x9b9]
push ebx
push edx
mov byte [esp + 0x9c0], bl
call fcn.005dfd60
add esp, 0x3c
cmp byte [esp + 0x268], bl
je 0x407ebd
push 0x103
lea eax, [esp + 0x475]
push ebx
push eax
mov byte [esp + 0x47c], bl
call fcn.005dfd60
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
lea ecx, [esp + 0x268]
push ecx
mov ebp, 0x104
push ebp
lea edx, [esp + 0x478]
push edx
push 0x60c81c
push str.IsOtherOSBuild
push 0x60da74
call esi
cmp byte [esp + 0x470], 0x31
jne 0x407d9b
mov dword [esp + 0x18], 1
lea eax, [esp + 0x268]
push eax
push ebp
lea ecx, [esp + 0x478]
push ecx
push 0x60da70
push str.ConnectViaProxy
push 0x60da74
call esi
cmp byte [esp + 0x470], 0x31
jne 0x407ec2
push 0x103
lea edx, [esp + 0x29]
push ebx
push edx
mov byte [esp + 0x30], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x78d]
push ebx
push eax
mov byte [esp + 0x794], bl
call fcn.005dfd60
add esp, 0x18
lea ecx, [esp + 0x268]
push ecx
push ebp
lea edx, [esp + 0x784]
push edx
push 0x60c81c
push str.HTTPProxyServer
push str.HTTP
call esi
lea eax, [esp + 0x268]
push eax
push ebp
lea ecx, [esp + 0x2c]
push ecx
push 0x60c81c
push str.HTTPProxyPort
push str.HTTP
call esi
cmp byte [esp + 0x77c], bl
je 0x407ec2
cmp byte [esp + 0x24], bl
je 0x407ec2
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x77c]
push edx
lea eax, [esp + 0x168]
push eax
call edi
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x370]
push edx
call edi
lea eax, [esp + 0x268]
push eax
push ebp
lea ecx, [esp + 0x1538]
push ecx
push 0x60c81c
push str.HTTPProxyUserName
push str.HTTP
call esi
lea edx, [esp + 0x268]
push edx
push ebp
lea eax, [esp + 0x888]
push eax
push 0x60c81c
push str.HTTPProxyPassword
push str.HTTP
call esi
jmp 0x407ec2
mov ebp, 0x104
cmp byte [esp + 0x164], bl
jne 0x407f77
cmp byte [esp + 0x36c], bl
jne 0x407f77
push ebx
lea ecx, [esp + 0x370]
push ecx
lea edx, [esp + 0x16c]
push edx
call fcn.0051b020
cmp byte [esp + 0x164], bl
je 0x407f77
cmp byte [esp + 0x36c], bl
je 0x407f77
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1534]
push ecx
push str.ProxyUserName
push 0x60d9ec
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x28], ebp
call fcn.004d5770
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x884]
push eax
push str.ProxyPassword
push 0x60d9ec
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x28], ebp
call fcn.004d5770
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x988]
push edx
push str.ProxyUserDomain
push 0x60d9ec
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x28], ebp
call fcn.004d5770
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0xa8c]
push ecx
call fcn.004f1610
mov esi, dword [esp + 0x10]
cmp esi, ebx
je 0x408332
xor ebp, ebp
cmp byte [esi], bl
je 0x408325
push 0x103
lea edx, [esp + 0x781]
push ebx
push edx
mov byte [esp + 0x788], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x481]
push ebx
push eax
mov byte [esp + 0x488], bl
call fcn.005dfd60
add esp, 0x18
xor edi, edi
mov dword [esp + 0x1c], 0x104
cmp dword [esp + 0x18], ebx
je 0x408040
push str.WWW_DIR64
push 0x60d9b4
push esi
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x408000
lea ebp, [edi + 1]
mov ecx, dword [esp + 0x10]
push str.WWW_DIR_ANRDOID_ARM
push 0x60d988
push ecx
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x408020
mov ebp, 1
mov edx, dword [esp + 0x10]
push str.WWW_DIR_ANDROID_ARM
push 0x60d95c
push edx
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x408040
mov ebp, 1
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xc90]
push eax
push str.INSTALLEDPUBDIR
push ecx
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x408063
mov ebp, 1
mov edx, dword [esp + 0x10]
push str.eScan_Mirror
push str.BitDefender_Mirror
push edx
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x408083
mov ebp, 1
mov eax, dword [esp + 0x10]
push str.eScan_product
push str.BitDefender_product
push eax
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x4080a3
mov ebp, 1
cmp byte [esp + 0x164], bl
je 0x4081d0
cmp byte [esp + 0x36c], bl
je 0x4081d0
push 0x103
lea ecx, [esp + 0xb91]
push ebx
push ecx
mov byte [esp + 0xb98], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x35]
push ebx
push edx
mov byte [esp + 0x3c], bl
call fcn.005dfd60
lea eax, [esp + 0x384]
push eax
lea ecx, [esp + 0x180]
push ecx
lea edx, [esp + 0xbac]
push str.USE_PROXY_s:_s
push edx
call fcn.005dfb23
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xbb4]
push eax
push str.USE_PROXYPROXYSERVER:PROXYPORT
push ecx
call fcn.004e9030
add esp, 0x34
test eax, eax
je 0x408130
mov ebp, 1
cmp byte [esp + 0x1530], bl
je 0x408199
cmp byte [esp + 0x880], bl
je 0x408199
cmp byte [esp + 0x984], bl
je 0x408177
lea edx, [esp + 0x880]
push edx
lea eax, [esp + 0x1534]
push eax
lea ecx, [esp + 0x98c]
push ecx
lea edx, [esp + 0x30]
push str.USE_PROXY_AUTH_s_s:_s
push edx
call fcn.005dfb23
add esp, 0x14
jmp 0x408199
lea eax, [esp + 0x880]
push eax
lea ecx, [esp + 0x1534]
push ecx
lea edx, [esp + 0x2c]
push str.USE_PROXY_AUTH_s:_s
push edx
call fcn.005dfb23
add esp, 0x10
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
push str.USE_PROXY_AUTHusername:password
push ecx
call fcn.004e9030
add esp, 0xc
test eax, eax
je 0x4081d0
mov edx, dword [esp + 0x10]
push 0x60c81c
push str.USE_PROXY_AUTHdomainusername:password
push edx
mov ebp, 1
call fcn.004e9030
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x474]
push ecx
push str.MonitorCLB
push 0x60d814
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004d5770
cmp byte [esp + 0x470], bl
je 0x40820e
cmp byte [esp + 0x479], 0x4f
jne 0x40820e
cmp byte [esp + 0x478], 0x52
je 0x408264
push 0x7f
lea edx, [esp + 0xfa1]
push ebx
push edx
mov byte [esp + 0xfa8], bl
call fcn.005dfd60
lea eax, [esp + 0xfa8]
push eax
call fcn.004dd850
lea ecx, [esp + 0xfac]
push str.0200
push ecx
call fcn.004dd620
add esp, 0x18
test eax, eax
je 0x408264
lea edx, [esp + 0xf9c]
push str.0300
push edx
call fcn.004dd620
add esp, 8
test eax, eax
jne 0x408269
mov edi, 1
call fcn.004dd0c0
cdq
mov ecx, 0xa
idiv ecx
mov esi, edx
cmp edi, ebx
jne 0x4082a5
call fcn.004dd0c0
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x4082a5
mov ecx, 9
mov esi, str.http:__upgr_mmxiv.cdn.bitdefender.net_
lea edi, [esp + 0x77c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4082d6
cmp esi, ebx
jne 0x4082c0
mov ecx, 8
mov esi, str.http:__www.microworldsystems.com_
lea edi, [esp + 0x77c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4082d6
push esi
lea edx, [esp + 0x780]
push str.http:__update_u.mwti.net_
push edx
call fcn.005dfb23
add esp, 0xc
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x77c]
push eax
push str.http:__upgrade.bitdefender.com_
push ecx
call fcn.004e9030
add esp, 0xc
test eax, eax
jne 0x4082f8
cmp ebp, ebx
je 0x408325
lea edx, [esp + 0xa88]
push edx
call fcn.004e0670
mov eax, dword [esp + 0x14]
push eax
call fcn.004dd6c0
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0xa98]
push edx
call fcn.005170e0
add esp, 0x14
mov eax, dword [esp + 0x10]
push eax
call fcn.005e0865
add esp, 4
mov edi, dword [esp + 0x2fb0]
mov esi, dword [esp + 0x2fa4]
push edi
push esi
push ebx
lea ecx, [esp + 0x112c]
push ecx
lea edx, [esp + 0x584]
push str.eScan_Apache
push edx
mov byte [esp + 0x1138], bl
call fcn.00405ac0
add esp, 0x18
test eax, eax
jne 0x40838b
cmp byte [esp + 0x1120], bl
je 0x4074a6
push ebx
lea eax, [esp + 0x1124]
push eax
push str.Error_installing_Apache_Server__eScan_Apache_.__s
jmp 0x40749e
push esi
call fcn.00405df0
push ebx
push str.eScan_Apache
push str.Apache_server_installed_successfully___s_.
call fcn.0055d640
add esp, 0x10
push ebx
lea ecx, [esp + 0xe9c]
cmp edi, ebx
jne 0x408481
push esi
push ecx
lea edx, [esp + 0x112c]
push edx
lea eax, [esp + 0x584]
push str.eScan_Apache_Updater
push eax
mov byte [esp + 0x1138], bl
call fcn.00405ac0
add esp, 0x18
test eax, eax
jne 0x4083f7
cmp byte [esp + 0x1120], bl
je 0x40840a
push ebx
lea ecx, [esp + 0x1124]
push ecx
push str.Error_installing_secondary_Apache_Server__eScan_Apache_Updater_.__s
jmp 0x408402
push ebx
push str.eScan_Apache_Updater
push str.Secondary_Apache_server_installed_successfully___s_.
call fcn.0055d640
add esp, 0xc
cmp esi, ebx
je 0x408492
call fcn.004048e0
test eax, eax
je 0x408492
push ebx
push esi
lea edx, [esp + 0x1024]
push edx
lea eax, [esp + 0x112c]
push eax
lea ecx, [esp + 0x584]
push str.eScan_Apache_IOSUpdater
push ecx
mov byte [esp + 0x1138], bl
call fcn.00405ac0
add esp, 0x18
test eax, eax
jne 0x40846f
cmp byte [esp + 0x1120], bl
je 0x408492
push ebx
lea edx, [esp + 0x1124]
push edx
push str.Error_installing_IOS_Apache_Server__eScan_Apache_IOSUpdater_.__s
call fcn.0055d640
jmp 0x40848f
push ebx
push str.eScan_Apache_IOSUpdater
push str.IOS_Apache_server_installed_successfully___s_.
call fcn.0055d640
jmp 0x40848f
lea eax, [esp + 0x173c]
push eax
push ecx
call fcn.004edd70
add esp, 0xc
push ebx
push str.eScan_Apache
call fcn.0050d920
push ebx
push str.eScan_Apache_New
call fcn.0050d920
push ebx
push str.eScan_Apache_Updater
mov esi, eax
call fcn.0050d920
push ebx
push str.eScan_Apache_IOSUpdater
mov ebp, eax
call fcn.0050d920
push 1
lea edx, [esp + 0x598]
push str.eScan_Apache
push edx
mov edi, eax
call fcn.0052ae50
add esp, 0x2c
cmp esi, ebx
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
je 0x408500
push 0x64
call esi
push 1
lea eax, [esp + 0x578]
push str.eScan_Apache_New
push eax
call fcn.0052ae50
add esp, 0xc
cmp edi, ebx
je 0x40851f
push 0x64
call esi
push 1
lea ecx, [esp + 0x578]
push str.eScan_Apache_IOSUpdater
push ecx
call fcn.0052ae50
add esp, 0xc
cmp ebp, ebx
je 0x40857f
push 0x64
call esi
push 1
lea edx, [esp + 0x578]
push str.eScan_Apache_Updater
push edx
call fcn.0052ae50
add esp, 0xc
xor eax, eax
mov cl, byte [esp + eax + 0x574]
mov byte [esp + eax + 0xb8c], cl
inc eax
cmp cl, bl
jne 0x408540
lea eax, [esp + 0xb8c]
push eax
push ebx
push 0x4068a0
call fcn.005e07ac
add esp, 0xc
cmp byte [esp + 0xb8c], bl
je 0x40857f
push 1
call esi
cmp byte [esp + 0xb8c], bl
jne 0x408572
mov eax, 1
jmp 0x4074a8
mov ecx, dword [esp + 0x2f90]
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.005dfbbe
add esp, 0x2f8c
ret