Function at 0x4387b5
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
sub esp, 0x6c
push 0x98
mov eax, 0x49b2ef
call fcn.00470906
mov esi, ecx
and dword [ebp + 0x6c], 0
push str.NOLOG:_in_XML_GetSteps__
lea ecx, [ebp + 0x20]
call fcn.0044e280
and dword [ebp - 4], 0
lea eax, [ebp + 0x20]
push eax
call fcn.00404620
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp + 0x20]
call fcn.0044e260
mov ecx, dword [ebp + 0x78]
mov edi, 0x4a099a
push edi
call fcn.0044e3b0
push 0x4a9850
lea ecx, [ebp + 0x4c]
call fcn.0044e280
push 0x4a1440
lea ecx, [ebp + 0x20]
mov dword [ebp - 4], 1
call fcn.0044e280
lea eax, [ebp + 0x20]
push eax
lea ecx, [esi + 0x17c]
mov byte [ebp - 4], 2
call fcn.0042dcfd
lea ecx, [ebp + 0x4c]
push ecx
mov ecx, eax
call fcn.0042dcfd
mov ebx, dword [eax]
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 1
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x4c]
call fcn.0044e260
test ebx, ebx
jne 0x438981
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x4388cd
cmp ebx, str.__noop
je 0x4388cd
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov dword [ebp - 4], 3
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 3
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.0044e260
cmp ebx, edi
je 0x438967
cmp ebx, str.__noop
je 0x438967
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x10]
call fcn.0044e280
push str.Missing__step_list__element
push eax
lea eax, [ebp + 0x28]
push eax
mov dword [ebp - 4], 5
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 6
call fcn.0044eb40
push 0x4a099a
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 7
call fcn.0044eb40
push eax
mov byte [ebp - 4], 8
call fcn.00404620
add esp, 0x28
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 7
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 6
call fcn.0044e260
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x28]
call fcn.0044e260
lea ecx, [ebp + 0x10]
or dword [ebp - 4], 0xffffffff
call fcn.0044e260
mov eax, 0x8000aaa0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 4
push str.step
mov ecx, ebx
call fcn.004447ee
mov dword [ebp + 0x48], eax
test eax, eax
je 0x438ddd
lea ecx, [ebp + 0x18]
call fcn.0044e010
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 9
call fcn.0044e010
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0044e010
lea ecx, [ebp]
mov byte [ebp - 4], 0xb
call fcn.0044e010
push 0x4a7ccc
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xc
call fcn.0044e280
mov ebx, dword [ebp + 0x48]
xor edi, edi
inc edi
or dword [ebp + 0x6c], edi
push edi
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.0042c3e5
test eax, eax
je 0x438a2b
push str.name
lea ecx, [ebp - 0x38]
call fcn.0044e280
or dword [ebp + 0x6c], 2
push edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
push ebx
mov ecx, esi
mov dword [ebp - 4], 0xe
call fcn.0042c3e5
mov byte [ebp + 0x6b], 0
test eax, eax
jne 0x438a2f
mov byte [ebp + 0x6b], 1
test byte [ebp + 0x6c], 2
mov dword [ebp - 4], 0xd
je 0x438a48
and dword [ebp + 0x6c], 0xfffffffd
lea ecx, [ebp - 0x38]
call fcn.0044e260
test byte [ebp + 0x6c], 1
mov dword [ebp - 4], 0xc
je 0x438a61
and dword [ebp + 0x6c], 0xfffffffe
lea ecx, [ebp - 0x40]
call fcn.0044e260
cmp byte [ebp + 0x6b], 0
jne 0x438ee9
lea ecx, [ebp + 0x4c]
call fcn.0044e010
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x15
call fcn.0044e010
push str.width
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x16
call fcn.0044e280
push edi
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x17
call fcn.0042c3e5
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x16
call fcn.0044e260
push str.height
lea ecx, [ebp + 0x10]
call fcn.0044e280
push edi
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x10]
push eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.0042c3e5
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x16
call fcn.0044e260
lea ecx, [ebp + 0x4c]
call fcn.00401219
test al, al
jne 0x438b25
lea ecx, [ebp + 0x30]
call fcn.00401219
test al, al
jne 0x438b25
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x438b03
mov eax, dword [ebp + 0x4c]
push eax
call fcn.004727e5
cmp byte [ebp + 0x37], 0xff
mov dword [ebp - 0x18], eax
pop ecx
lea eax, [ebp + 0x30]
jne 0x438b19
mov eax, dword [ebp + 0x30]
push eax
call fcn.004727e5
pop ecx
mov dword [ebp + 0x44], eax
jmp 0x438b2d
or dword [ebp - 0x18], 0xffffffff
or dword [ebp + 0x44], 0xffffffff
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x15
call fcn.0044e260
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0xc
call fcn.0044e260
lea ecx, [ebp - 0x20]
call fcn.0044e010
push str.type
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x19
call fcn.0044e280
push edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x28]
push eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.0042c3e5
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x19
call fcn.0044e260
push 0x4a8684
lea ecx, [ebp + 0x58]
call fcn.0044e280
or dword [ebp + 0x6c], 4
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x58]
push eax
push ebx
mov ecx, esi
mov byte [ebp - 4], 0x1b
call fcn.0042c3e5
test eax, eax
jne 0x438bda
push str.resource
lea ecx, [ebp + 0x38]
call fcn.0044e280
or dword [ebp + 0x6c], 8
push edi
lea eax, [ebp]
push eax
lea eax, [ebp + 0x38]
push eax
push ebx
mov ecx, esi
mov dword [ebp - 4], 0x1c
call fcn.0042c3e5
test eax, eax
jne 0x438bda
mov bl, 1
jmp 0x438bdc
xor bl, bl
test byte [ebp + 0x6c], 8
mov dword [ebp - 4], 0x1b
je 0x438bf5
and dword [ebp + 0x6c], 0xfffffff7
lea ecx, [ebp + 0x38]
call fcn.0044e260
test byte [ebp + 0x6c], 4
mov dword [ebp - 4], 0x19
je 0x438c0e
and dword [ebp + 0x6c], 0xfffffffb
lea ecx, [ebp + 0x58]
call fcn.0044e260
test bl, bl
jne 0x439012
lea eax, [ebp + 0x18]
push eax
lea ecx, [esi + 0x3e8]
call fcn.004255a1
mov ebx, eax
and dword [ebx + 0x24], 0
and dword [ebx + 0x28], 0
lea ecx, [ebp + 0x20]
call fcn.0044e010
push str.optionvars
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x23
call fcn.0044e280
push 1
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x48]
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.0042c3e5
lea ecx, [ebp + 0x60]
mov edi, eax
mov byte [ebp - 4], 0x23
call fcn.0044e260
test edi, edi
je 0x438c7d
mov ecx, dword [esi]
lea eax, [ebp + 0x20]
push eax
call fcn.00419c85
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x19
call fcn.0044e260
mov ecx, dword [ebp + 0x48]
push str.constraint_list
call fcn.004447ee
test eax, eax
je 0x438cbd
and dword [ebp + 0x54], 0
mov dword [ebx + 0x24], eax
lea eax, [ebp + 0x54]
push eax
push 0
push ebx
mov ecx, esi
call fcn.004327b1
mov ecx, dword [ebp + 0x54]
mov dword [ebx + 0x28], ecx
test eax, eax
je 0x438d87
lea eax, [ebp + 0x18]
push eax
lea eax, [esi + 0x284]
push eax
call fcn.0042cbbf
pop ecx
pop ecx
test al, al
je 0x438d87
lea eax, [ebp + 0x18]
push eax
lea ecx, [esi + 0x3fc]
call fcn.0041e77f
test eax, eax
jne 0x439117
lea eax, [ebp + 0x18]
push eax
lea ecx, [esi + 0x3fc]
call fcn.004255a1
mov edi, eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [edi + 0xc]
call fcn.0044e310
lea eax, [ebp + 0x18]
push eax
lea ecx, [edi + 4]
call fcn.0044e310
lea eax, [ebp - 0x20]
push eax
lea ecx, [edi + 0x14]
call fcn.0044e310
mov eax, dword [ebx + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x44], eax
mov eax, dword [ebp + 0x44]
lea ecx, [ebp + 8]
mov dword [edi + 0x48], eax
call fcn.00401219
lea ecx, [edi + 0x1c]
test al, al
je 0x438d5c
lea eax, [ebp]
push eax
call fcn.0044e310
mov dword [edi + 0x2c], 1
jmp 0x438d69
lea eax, [ebp + 8]
push eax
call fcn.0044e310
and dword [edi + 0x2c], 0
and dword [edi], 0
mov ebx, 0x4a099a
push ebx
lea ecx, [edi + 0x34]
call fcn.0044e3b0
push ebx
lea ecx, [edi + 0x3c]
call fcn.0044e3b0
and dword [edi + 0x30], 0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.0044e260
lea ecx, [ebp]
mov byte [ebp - 4], 0xb
call fcn.0044e260
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0044e260
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.0044e260
mov ecx, dword [ebp + 0x48]
push 0
call fcn.00444865
mov dword [ebp + 0x48], eax
test eax, eax
jne 0x438998
mov edi, 0x4a099a
lea ecx, [esi + 0x284]
push 0x2c
call fcn.0044e050
mov dword [ebp + 0x48], eax
test eax, eax
jg 0x439226
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x438e5e
cmp ebx, str.__noop
je 0x438e5e
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov dword [ebp - 4], 0x2c
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2d
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x2c
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.0044e260
cmp ebx, edi
je 0x438967
cmp ebx, str.__noop
je 0x438967
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x10]
call fcn.0044e280
push str._step_list__has_no_steps
push eax
lea eax, [ebp + 0x28]
push eax
mov dword [ebp - 4], 0x2e
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x2f
call fcn.0044eb40
push 0x4a099a
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x30
call fcn.0044eb40
push eax
mov byte [ebp - 4], 0x31
call fcn.00404620
add esp, 0x28
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x30
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x2f
call fcn.0044e260
mov byte [ebp - 4], 0x2e
jmp 0x438953
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x438f4f
cmp ebx, str.__noop
je 0x438f4f
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0xf
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0xf
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0xc
call fcn.0044e260
cmp ebx, edi
je 0x438fe6
cmp ebx, str.__noop
je 0x438fe6
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x28]
call fcn.0044e280
push str._step_list__has_no_id_and_or_name_attribute
push eax
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x11
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x12
call fcn.0044eb40
push 0x4a099a
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x13
call fcn.0044eb40
push eax
mov byte [ebp - 4], 0x14
call fcn.00404620
add esp, 0x28
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x13
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x12
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x11
call fcn.0044e260
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0xc
call fcn.0044e260
lea ecx, [ebp]
mov byte [ebp - 4], 0xb
call fcn.0044e260
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0044e260
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.0044e260
lea ecx, [ebp + 0x18]
jmp 0x43895e
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x439078
cmp ebx, str.__noop
je 0x439078
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0x1d
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1e
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x1d
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x19
call fcn.0044e260
cmp ebx, edi
je 0x43910f
cmp ebx, str.__noop
je 0x43910f
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x28]
call fcn.0044e280
push str._step_list__has_no_uri_and_or_resource_attribute
push eax
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x1f
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x20
call fcn.0044eb40
push 0x4a099a
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x21
call fcn.0044eb40
push eax
mov byte [ebp - 4], 0x22
call fcn.00404620
add esp, 0x28
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x21
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x20
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x1f
call fcn.0044e260
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x19
call fcn.0044e260
lea ecx, [ebp - 0x20]
jmp 0x438fdd
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x43917d
cmp ebx, str.__noop
je 0x43917d
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0x25
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x26
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x25
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x19
call fcn.0044e260
cmp ebx, edi
je 0x43910f
cmp ebx, str.__noop
je 0x43910f
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x10]
call fcn.0044e280
push str._step_list__step_already_defined
push eax
lea eax, [ebp + 0x28]
push eax
mov byte [ebp - 4], 0x27
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x28
call fcn.0044eb40
push str.id_
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x29
call fcn.0044eb40
lea ecx, [ebp + 0x18]
push ecx
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x2a
call fcn.0044eaf0
push eax
mov byte [ebp - 4], 0x2b
call fcn.00404620
add esp, 0x34
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x2a
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x29
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x28
call fcn.0044e260
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x27
call fcn.0044e260
lea ecx, [ebp + 0x10]
jmp 0x439106
and dword [esi + 0x1a0], 0
lea ecx, [ebp + 0x4c]
call fcn.0044e010
push str.maxdlpoffers
lea ecx, [ebp + 0x58]
mov dword [ebp - 4], 0x32
call fcn.0044e280
push 0x4a1028
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x33
call fcn.0044e280
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 0x44], esp
push 0x4a09d4
mov byte [ebp - 4], 0x34
call fcn.0044e280
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0040b2a0
add esp, 0x14
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x33
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x32
call fcn.0044e260
cmp byte [ebp + 0x53], 0xff
lea eax, [ebp + 0x4c]
jne 0x4392a7
mov eax, dword [ebp + 0x4c]
push eax
call fcn.004727e5
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x44], eax
call fcn.0044e260
xor eax, eax
inc eax
mov dword [ebp + 0x54], eax
cmp dword [ebp + 0x48], eax
jl 0x4393fd
push dword [ebp + 0x54]
lea eax, [ebp + 0x30]
push 0x2c
push eax
lea ecx, [esi + 0x284]
call fcn.0044ebe0
lea eax, [ebp + 0x30]
push eax
lea ecx, [esi + 0x3fc]
mov dword [ebp - 4], 0x35
call fcn.0041e77f
test eax, eax
je 0x4393e2
lea eax, [ebp + 0x30]
push eax
lea ecx, [esi + 0x3fc]
call fcn.004255a1
push eax
lea ecx, [ebp - 0xa4]
call fcn.00421010
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x36
call fcn.0044e1c0
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x37
call fcn.00401219
test al, al
jne 0x4393c7
cmp dword [ebp - 0x7c], 0
je 0x43937d
lea eax, [ebp + 0x4c]
push 0x4a9758
push eax
call fcn.00401283
pop ecx
pop ecx
test al, al
je 0x43937d
mov eax, dword [ebp + 0x44]
cmp dword [esi + 0x1a0], eax
jge 0x43937d
lea eax, [ebp - 0x18]
push eax
push 1
lea eax, [ebp - 0xa4]
push eax
mov ecx, esi
call fcn.004327b1
test eax, eax
je 0x4393b8
lea eax, [ebp + 0x4c]
push 0x4a9758
push eax
call fcn.00401283
pop ecx
pop ecx
test al, al
je 0x43939c
mov eax, dword [ebp + 0x44]
cmp dword [esi + 0x1a0], eax
jge 0x4393b8
lea eax, [ebp + 0x4c]
push 0x4a9758
push eax
call fcn.00401283
pop ecx
pop ecx
test al, al
je 0x4393c7
inc dword [esi + 0x1a0]
jmp 0x4393c7
lea eax, [ebp + 0x30]
push eax
lea ecx, [esi + 0x3fc]
call fcn.00432a07
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x36
call fcn.0044e260
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x35
call fcn.0042115c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x30]
call fcn.0044e260
inc dword [ebp + 0x54]
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x48]
jle 0x4392cc
lea ecx, [ebp - 0x28]
call fcn.0044e010
push str.LocalHTMLOverride
lea ecx, [ebp + 0x60]
mov dword [ebp - 4], 0x38
call fcn.0044e280
lea eax, [ebp + 0x60]
mov ebx, 0x4c3ee8
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x39
call fcn.0040df2e
mov ecx, eax
call fcn.0040d9ba
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x44], eax
mov byte [ebp - 4], 0x38
call fcn.0044e260
cmp dword [ebp + 0x44], 0
je 0x439481
push str.LocalHTMLOverride
lea ecx, [ebp + 0x60]
call fcn.0044e280
lea eax, [ebp + 0x60]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x3a
call fcn.0040df2e
mov ecx, eax
call fcn.00413696
push eax
lea ecx, [ebp - 0x28]
call fcn.0044e3b0
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x38
call fcn.0044e260
lea ecx, [esi + 0x294]
push edi
call fcn.0044e3b0
lea ecx, [esi + 0x28c]
push edi
call fcn.0044e3b0
push edi
lea ecx, [ebp - 0x30]
call fcn.0044e280
xor eax, eax
inc eax
mov byte [ebp - 4], 0x3b
mov dword [ebp + 0x54], eax
cmp dword [ebp + 0x48], eax
jl 0x43979b
push dword [ebp + 0x54]
lea eax, [ebp + 0x40]
push 0x2c
push eax
lea ecx, [esi + 0x284]
call fcn.0044ebe0
lea eax, [ebp + 0x40]
push eax
lea ecx, [esi + 0x3e8]
mov byte [ebp - 4], 0x3c
call fcn.0041e77f
test eax, eax
jne 0x4394f8
lea eax, [ebp + 0x40]
push str.restart
push eax
call fcn.004012cb
pop ecx
pop ecx
test al, al
jne 0x4398a3
lea eax, [ebp + 0x40]
push eax
lea ecx, [esi + 0x3fc]
call fcn.0041e77f
test eax, eax
jne 0x439552
lea eax, [ebp + 0x40]
push str.restart
push eax
call fcn.004012cb
pop ecx
pop ecx
test al, al
je 0x439552
lea ecx, [esi + 0x294]
call fcn.00401219
test al, al
jne 0x43953e
push 0x4a3c48
lea ecx, [esi + 0x294]
call fcn.0044e6e0
lea eax, [ebp + 0x40]
push eax
lea ecx, [esi + 0x294]
call fcn.0044e7c0
jmp 0x439780
lea eax, [ebp + 0x40]
push eax
lea ecx, [esi + 0x3fc]
call fcn.004255a1
mov ebx, eax
cmp dword [ebx + 0x2c], 0
jne 0x439668
lea edi, [ebx + 0x1c]
cmp byte [edi + 7], 0xff
mov eax, edi
jne 0x43957a
mov eax, dword [edi]
cmp byte [eax], 0x24
je 0x4395a9
push 7
lea eax, [ebp + 0x60]
push eax
mov ecx, edi
call fcn.0044ea30
or dword [ebp + 0x6c], 0x10
push 0x4a09f0
push eax
mov byte [ebp - 4], 0x44
call fcn.00401283
pop ecx
pop ecx
mov byte [ebp + 0x6b], 0
test al, al
je 0x4395ad
mov byte [ebp + 0x6b], 1
test byte [ebp + 0x6c], 0x10
mov dword [ebp - 4], 0x3c
je 0x4395c6
and dword [ebp + 0x6c], 0xffffffef
lea ecx, [ebp + 0x60]
call fcn.0044e260
cmp byte [ebp + 0x6b], 0
jne 0x439668
mov ecx, dword [esi]
cmp dword [ecx + 0x14c], 0
jne 0x43961c
lea eax, [ebp + 0x38]
push eax
call fcn.004112d2
or dword [ebp + 0x6c], 0x20
push edi
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x45
call fcn.0044eaf0
add esp, 0xc
or dword [ebp + 0x6c], 0x40
cmp byte [eax + 7], 0xff
mov dword [ebp - 4], 0x46
jne 0x43960d
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov byte [ebp + 0x6b], 1
test eax, eax
je 0x439620
mov byte [ebp + 0x6b], 0
test byte [ebp + 0x6c], 0x40
mov dword [ebp - 4], 0x45
je 0x439639
and dword [ebp + 0x6c], 0xffffffbf
lea ecx, [ebp + 0x58]
call fcn.0044e260
test byte [ebp + 0x6c], 0x20
mov dword [ebp - 4], 0x3c
je 0x439652
and dword [ebp + 0x6c], 0xffffffdf
lea ecx, [ebp + 0x38]
call fcn.0044e260
cmp byte [ebp + 0x6b], 0
je 0x439668
lea ecx, [ebp - 0x28]
call fcn.00401219
test al, al
jne 0x4399f8
lea ecx, [ebx + 0x3c]
push 0x4a099a
call fcn.0044e3b0
lea eax, [esi + 0x294]
push eax
lea ecx, [ebx + 0x34]
call fcn.0044e310
mov edi, dword [ebp + 0x54]
jmp 0x4396e3
push edi
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea ecx, [esi + 0x284]
call fcn.0044ebe0
lea eax, [ebp + 0x20]
push eax
lea ecx, [esi + 0x3fc]
mov byte [ebp - 4], 0x4a
call fcn.0041e77f
test eax, eax
jne 0x4396d7
lea ecx, [ebx + 0x3c]
call fcn.00401219
test al, al
jne 0x4396cb
push 0x4a3c48
lea ecx, [ebx + 0x3c]
call fcn.0044e6e0
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0044e7c0
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
inc edi
cmp edi, dword [ebp + 0x48]
jle 0x439689
lea edi, [ebx + 0xc]
push edi
lea ecx, [ebp - 0x30]
call fcn.0044e310
cmp byte [edi + 7], 0xff
mov eax, edi
jne 0x4396ff
mov eax, dword [edi]
lea edi, [esi + 0x348]
push eax
mov ecx, edi
call fcn.0044f6d0
test edi, edi
je 0x439716
mov edi, dword [edi + 0x10]
jmp 0x439718
xor edi, edi
dec edi
mov dword [ebx + 0x30], edi
lea edi, [esi + 0x28c]
mov ecx, edi
call fcn.0044e020
test eax, eax
je 0x439757
push 0x4a3c48
lea eax, [ebp + 0x28]
push edi
push eax
call fcn.0044eb40
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x4b
call fcn.0044e310
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x10]
push edi
push eax
call fcn.0044eaf0
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0x4c
call fcn.0044e310
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
inc dword [ebp + 0x54]
mov eax, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x48]
jle 0x4394b5
lea ebx, [esi + 0x284]
push ebx
lea eax, [ebp + 0x60]
push str.Original_Page_List_
push eax
call fcn.0044eb90
push eax
mov byte [ebp - 4], 0x4d
call fcn.00404620
add esp, 0x10
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
push str.originalsteps
lea ecx, [ebp + 0x58]
call fcn.0044e280
mov edi, 0x4a1028
push edi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x4e
call fcn.0044e280
push ebx
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x4f
call fcn.0040b6b0
add esp, 0xc
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x4e
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
lea ebx, [esi + 0x28c]
push ebx
lea eax, [ebp + 0x28]
push str.Current_Page_List_
push eax
call fcn.0044eb90
push eax
mov byte [ebp - 4], 0x50
call fcn.00404620
add esp, 0x10
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
push str.currentsteps
lea ecx, [ebp + 0x38]
call fcn.0044e280
push edi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x51
call fcn.0044e280
push ebx
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x52
call fcn.0040b6b0
add esp, 0xc
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x51
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
lea ebx, [esi + 0x348]
test ebx, ebx
je 0x439a95
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x54], eax
jmp 0x439a99
mov ecx, dword [ebp + 0x78]
lea eax, [ebp + 0x40]
push eax
call fcn.0044e310
mov eax, str.LogAction
mov edi, str.NULL
mov ebx, str.LogDebug
cmp eax, edi
je 0x439915
cmp ebx, str.__noop
je 0x439915
push str.E_CFGSTEPS
lea ecx, [ebp + 0x58]
call fcn.0044e280
push eax
lea eax, [ebp + 0x60]
push str.actioninternalerrorvalue
push eax
mov byte [ebp - 4], 0x3d
call fcn.0044eb90
add esp, 0xc
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x3e
call dword [edx + 0x10]
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x3d
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
cmp ebx, edi
je 0x4399ca
cmp ebx, str.__noop
je 0x4399ca
push str.INTERNAL_ERROR:
lea ecx, [ebp + 0x10]
call fcn.0044e280
push str._step_list__has_unknown_step
push eax
lea eax, [ebp + 0x28]
push eax
mov byte [ebp - 4], 0x3f
call fcn.0044eb40
push 0x4a0c2c
push eax
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x40
call fcn.0044eb40
push str.step_name_
push eax
lea eax, [ebp + 0x58]
push eax
mov byte [ebp - 4], 0x41
call fcn.0044eb40
lea ecx, [ebp + 0x40]
push ecx
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x42
call fcn.0044eaf0
push eax
mov byte [ebp - 4], 0x43
call fcn.00404620
add esp, 0x34
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x42
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x41
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x40
call fcn.0044e260
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x3f
call fcn.0044e260
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x38
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0044e260
mov eax, 0x80004005
jmp 0x43896c
mov ecx, dword [esi]
lea eax, [ebp + 0x38]
push eax
call fcn.004112d2
push eax
lea eax, [ebp + 0x58]
push str.NOLOG:_html_missing_at
push eax
mov byte [ebp - 4], 0x47
call fcn.0044eb90
add ebx, 0x1c
push ebx
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x48
call fcn.0044eaf0
push eax
mov byte [ebp - 4], 0x49
call fcn.00404620
add esp, 0x1c
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x48
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x47
call fcn.0044e260
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x3c
call fcn.0044e260
mov ecx, dword [ebp + 0x78]
lea eax, [ebp + 0x40]
push eax
call fcn.0044e310
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
mov esi, 0x80004005
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x38
call fcn.0044e260
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0044e260
mov eax, esi
jmp 0x43896c
and dword [ebp + 0x54], 0
push 0
mov ecx, ebx
call fcn.0044f630
push eax
mov ecx, ebx
call fcn.0044f4b0
push dword [eax]
lea ecx, [ebp + 0x30]
call fcn.0044e1c0
xor eax, eax
inc eax
mov byte [ebp - 4], 0x53
mov dword [ebp + 0x78], eax
cmp dword [ebp + 0x54], eax
jle 0x439b0c
push dword [ebp + 0x78]
mov ecx, ebx
call fcn.0044f630
push eax
mov ecx, ebx
call fcn.0044f4b0
push dword [eax]
lea eax, [ebp + 0x60]
push 0x4a3c48
push eax
call fcn.0044eb90
add esp, 0xc
push eax
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x54
call fcn.0044e7c0
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x53
call fcn.0044e260
inc dword [ebp + 0x78]
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x54]
jl 0x439ac3
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x60]
push str.BreadCrumbs_List_
push eax
call fcn.0044eb90
push eax
mov byte [ebp - 4], 0x55
call fcn.00404620
add esp, 0x10
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x53
call fcn.0044e260
push str.breadcrumbs
lea ecx, [ebp + 0x58]
call fcn.0044e280
push edi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x56
call fcn.0044e280
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x57
call fcn.0040b6b0
add esp, 0xc
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x56
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x53
call fcn.0044e260
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
lea ecx, [ebp + 0x4c]
call fcn.0044e010
mov ebx, dword [esi + 0x3fc]
lea eax, [ebx + 0x14]
push eax
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x58
call fcn.0044e7c0
add ebx, 0x64
cmp ebx, dword [esi + 0x400]
je 0x439bf8
lea eax, [ebx + 0x14]
mov dword [ebp + 0x78], eax
push dword [ebp + 0x78]
lea eax, [ebp + 0x60]
push 0x4a3c48
push eax
call fcn.0044eb90
add esp, 0xc
push eax
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x59
call fcn.0044e7c0
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x58
call fcn.0044e260
add dword [ebp + 0x78], 0x64
add ebx, 0x64
cmp ebx, dword [esi + 0x400]
jne 0x439bbc
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x60]
push str.Step_List_
push eax
call fcn.0044eb90
push eax
mov byte [ebp - 4], 0x5a
call fcn.00404620
add esp, 0x10
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x58
call fcn.0044e260
push str.steps
lea ecx, [ebp + 0x58]
call fcn.0044e280
push edi
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x5b
call fcn.0044e280
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x60]
push eax
mov byte [ebp - 4], 0x5c
call fcn.0040b6b0
add esp, 0xc
lea ecx, [ebp + 0x60]
mov byte [ebp - 4], 0x5b
call fcn.0044e260
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x58
call fcn.0044e260
lea ecx, [ebp + 0x4c]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
push str.NOLOG:_exiting_XML_GetSteps__
lea ecx, [ebp + 0x38]
call fcn.0044e280
lea eax, [ebp + 0x38]
push eax
mov byte [ebp - 4], 0x5d
call fcn.00404620
pop ecx
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x3b
call fcn.0044e260
xor esi, esi
jmp 0x439a76