Function at 0x463b40
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49eddd
mov eax, dword fs:[0]
push eax
sub esp, 0x288
mov eax, dword [0x4b0c90]
xor eax, esp
mov dword [esp + 0x280], eax
push ebx
push esi
push edi
mov eax, dword [0x4b0c90]
xor eax, esp
push eax
lea eax, [esp + 0x298]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.0047483b
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x463b9e
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x2a0], esi
cmp dword [ebx + 0xc4], esi
mov dword [esp + 0x18], esi
jne 0x463c8d
mov ecx, 5
mov esi, str.CFG_File__.cfg_.cfg
lea edi, [esp + 0x1f4]
rep movsd dword es:[edi], dword [esi]
push 0
push ebx
lea ecx, [esp + 0x1fc]
push ecx
push 4
push str.hdatest.cfg
movsw word es:[edi], word [esi]
push 0x4a74e4
push 1
lea ecx, [esp + 0x48]
movsb byte es:[edi], byte [esi]
call fcn.0047f583
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2a0], 1
call fcn.0047f457
cmp eax, 1
jne 0x463c70
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
call fcn.0047f72f
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a4], 2
call fcn.00428690
mov byte [esp + 0x2a0], 1
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463c78
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2a0], 0
call fcn.0047f542
xor esi, esi
jmp 0x463cb0
mov dword [esp + 0x18], 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2a0], 0
call fcn.0047f542
xor esi, esi
jmp 0x463cb0
mov ecx, dword [0x4ba3a0]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0xb
push str.hdatest.cfg
lea ecx, [esp + 0x28]
mov dword [ebx + 0xc4], esi
call fcn.004160a0
mov edx, dword [esp + 0x20]
push 0x4a4554
push edx
lea edi, [ebx + 0x1b0]
push edi
call fcn.00483a5d
add esp, 0xc
test eax, eax
jne 0x464514
mov ecx, dword [edi]
push 0x32
lea eax, [esp + 0x228]
push eax
push 0x4a74e8
push ecx
call fcn.0048450b
mov eax, dword [ebx + 0x150]
lea edx, [esp + 0x234]
push edx
push eax
call fcn.00486704
add esp, 0x18
cmp eax, esi
sete al
test al, al
je 0x4644f6
mov ecx, dword [edi]
push 0x32
lea eax, [esp + 0x228]
push eax
push 0x4a74e8
push ecx
call fcn.0048450b
mov edx, dword [edi]
lea esi, [ebx + 0x1b4]
push esi
push 0x4a74fc
push edx
call fcn.0048450b
mov ecx, dword [edi]
mov eax, dword [esi]
add esp, 0x1c
push esi
push 0x4a74fc
push ecx
mov dword [ebx + 0x348], eax
call fcn.0048450b
mov eax, dword [edi]
mov edx, dword [esi]
add esp, 0xc
push esi
push 0x4a74fc
push eax
mov dword [ebx + 0x350], edx
call fcn.0048450b
mov edx, dword [edi]
mov ecx, dword [esi]
add esp, 0xc
push esi
push 0x4a74fc
push edx
mov dword [ebx + 0x34c], ecx
call fcn.0048450b
mov eax, dword [esi]
add esp, 0xc
mov dword [ebx + 0x354], eax
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x463da7
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x2a0], 3
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x463dd9
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2a0], 4
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x463e0b
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0x2a0], 5
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x463e3d
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x2a0], 6
mov ecx, dword [ebx + 0x34c]
push ecx
lea edx, [esp + 0x1c]
push 0x4a86c8
push edx
call fcn.00428670
mov eax, dword [ebx + 0x350]
add esp, 0xc
push eax
lea ecx, [esp + 0x20]
push 0x4a86c8
push ecx
call fcn.00428670
mov edx, dword [ebx + 0x354]
add esp, 0xc
push edx
lea eax, [esp + 0x2c]
push 0x4a86c8
push eax
call fcn.00428670
mov ecx, dword [ebx + 0x348]
add esp, 0xc
push ecx
lea edx, [esp + 0x28]
push 0x4a86c8
push edx
call fcn.00428670
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
push 0x41d
mov ecx, ebx
call fcn.0047f86c
mov ecx, dword [esp + 0x1c]
push ecx
push 0x41f
mov ecx, ebx
call fcn.0047f86c
mov edx, dword [esp + 0x28]
push edx
push 0x421
mov ecx, ebx
call fcn.0047f86c
mov eax, dword [esp + 0x24]
push eax
push 0x41b
mov ecx, ebx
call fcn.0047f86c
mov edx, dword [edi]
push 0x32
lea ecx, [esp + 0x228]
push ecx
push 0x4a74e8
push edx
call fcn.0048450b
add esp, 0x10
mov dword [esp + 0x14], 1
nop
mov eax, dword [edi]
push esi
push 0x4a74fc
push eax
call fcn.0048450b
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0xc
cmp dword [esi], 1
sete cl
add eax, 1
cmp eax, 0xb
mov dword [esp + 0x14], eax
mov dword [esp + eax*4 + 0x1f0], ecx
jle 0x463f20
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x1fc]
mov dword [ebx + 0x2cc], edx
mov edx, dword [esp + 0x204]
mov dword [ebx + 0x2a8], ecx
mov ecx, dword [esp + 0x20c]
mov dword [ebx + 0x2ac], edx
mov edx, dword [esp + 0x210]
mov dword [ebx + 0x2b4], ecx
mov ecx, dword [esp + 0x218]
mov dword [ebx + 0x2a4], eax
mov eax, dword [esp + 0x208]
mov dword [ebx + 0x2b8], edx
mov edx, dword [esp + 0x21c]
mov dword [ebx + 0x2c0], ecx
push 0x32
mov dword [ebx + 0x2b0], eax
mov eax, dword [esp + 0x218]
lea ecx, [esp + 0x228]
push ecx
mov dword [ebx + 0x2c4], edx
mov edx, dword [edi]
mov dword [ebx + 0x2bc], eax
mov eax, dword [esp + 0x228]
push 0x4a74e8
push edx
mov dword [ebx + 0x2c8], eax
call fcn.0048450b
add esp, 0x10
mov dword [esp + 0x14], 1
mov eax, dword [edi]
push esi
push 0x4a74fc
push eax
call fcn.0048450b
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0xc
cmp dword [esi], 1
sete cl
add eax, 1
cmp eax, 9
mov dword [esp + 0x14], eax
mov dword [esp + eax*4 + 0x1f0], ecx
jle 0x464001
mov edx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
mov dword [ebx + 0x2d0], edx
mov edx, dword [esp + 0x204]
mov dword [ebx + 0x2d4], eax
mov eax, dword [esp + 0x208]
mov dword [ebx + 0x2dc], edx
mov edx, dword [esp + 0x210]
mov dword [ebx + 0x2e0], eax
mov eax, dword [esp + 0x214]
mov dword [ebx + 0x2e8], edx
push 0x32
mov dword [ebx + 0x2d8], ecx
mov ecx, dword [esp + 0x210]
lea edx, [esp + 0x228]
push edx
mov dword [ebx + 0x2ec], eax
mov eax, dword [edi]
mov dword [ebx + 0x2e4], ecx
mov ecx, dword [esp + 0x220]
push 0x4a74e8
push eax
mov dword [ebx + 0x2f0], ecx
call fcn.0048450b
add esp, 0x10
mov dword [esp + 0x14], 1
mov ecx, dword [edi]
push esi
push 0x4a74fc
push ecx
call fcn.0048450b
mov eax, dword [esp + 0x20]
xor edx, edx
add esp, 0xc
cmp dword [esi], 1
sete dl
add eax, 1
cmp eax, 9
mov dword [esp + 0x14], eax
mov dword [esp + eax*4 + 0x1f0], edx
jle 0x4640c8
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
mov dword [ebx + 0x2f4], eax
mov eax, dword [esp + 0x204]
mov dword [ebx + 0x2f8], ecx
mov ecx, dword [esp + 0x208]
mov dword [ebx + 0x300], eax
mov eax, dword [esp + 0x210]
mov dword [ebx + 0x304], ecx
mov ecx, dword [esp + 0x214]
mov dword [ebx + 0x30c], eax
push 0x32
mov dword [ebx + 0x2fc], edx
mov edx, dword [esp + 0x210]
lea eax, [esp + 0x228]
push eax
mov dword [ebx + 0x310], ecx
mov ecx, dword [edi]
mov dword [ebx + 0x308], edx
mov edx, dword [esp + 0x220]
push 0x4a74e8
push ecx
mov dword [ebx + 0x3c8], edx
call fcn.0048450b
mov edx, dword [edi]
push esi
push 0x4a74fc
push edx
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0x1c
xor eax, eax
cmp dword [esi], 1
push esi
sete al
push 0x4a74fc
push ecx
mov dword [ebx + 0x318], eax
call fcn.0048450b
mov eax, dword [edi]
add esp, 0xc
xor edx, edx
cmp dword [esi], 1
push esi
sete dl
push 0x4a74fc
push eax
mov dword [ebx + 0x358], edx
call fcn.0048450b
mov edx, dword [edi]
add esp, 0xc
xor ecx, ecx
cmp dword [esi], 1
push esi
sete cl
push 0x4a74fc
push edx
mov dword [ebx + 0x31c], ecx
call fcn.0048450b
mov edx, dword [edi]
add esp, 0xc
xor eax, eax
cmp dword [esi], 1
push 0x64
sete al
lea ecx, [esp + 0x228]
push ecx
push 0x4a74e8
push edx
mov dword [ebx + 0x320], eax
call fcn.0048450b
mov eax, dword [edi]
push esi
push 0x4a74fc
push eax
call fcn.0048450b
xor ecx, ecx
add esp, 0x1c
cmp dword [esi], 1
sete cl
mov edx, dword [edi]
push esi
push 0x4a74fc
push edx
mov dword [ebx + 0x324], ecx
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0xc
xor eax, eax
cmp dword [esi], 1
push esi
sete al
push 0x4a74fc
push ecx
mov dword [ebx + 0x328], eax
call fcn.0048450b
mov eax, dword [edi]
add esp, 0xc
xor edx, edx
cmp dword [esi], 1
push esi
sete dl
push 0x4a74fc
push eax
mov dword [ebx + 0x3b8], edx
call fcn.0048450b
mov edx, dword [edi]
add esp, 0xc
xor ecx, ecx
cmp dword [esi], 1
push esi
sete cl
push 0x4a74fc
push edx
mov dword [ebx + 0x3bc], ecx
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0xc
xor eax, eax
cmp dword [esi], 1
push esi
sete al
push 0x4a74fc
push ecx
mov dword [ebx + 0x3c0], eax
call fcn.0048450b
mov eax, dword [edi]
add esp, 0xc
xor edx, edx
cmp dword [esi], 1
push esi
sete dl
push 0x4a74fc
push eax
mov dword [ebx + 0x3c4], edx
call fcn.0048450b
mov edx, dword [edi]
add esp, 0xc
xor ecx, ecx
cmp dword [esi], 1
push esi
sete cl
push 0x4a74fc
push edx
mov dword [ebx + 0x314], ecx
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0xc
xor eax, eax
cmp dword [esi], 1
push esi
sete al
push 0x4a74fc
push ecx
mov dword [ebx + 0x33c], eax
call fcn.0048450b
xor edx, edx
add esp, 0xc
cmp dword [esi], 1
sete dl
mov dword [ebx + 0x340], edx
mov eax, dword [edi]
push esi
push 0x4a74fc
push eax
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0xc
push esi
push 0x4a74fc
push ecx
mov dword [ebx + 0x1b8], 1
call fcn.0048450b
mov eax, dword [edi]
add esp, 0xc
xor edx, edx
cmp dword [esi], 1
push esi
sete dl
push 0x4a74fc
push eax
mov dword [ebx + 0x35c], edx
call fcn.0048450b
mov eax, dword [edi]
add esp, 0xc
xor ecx, ecx
cmp dword [esi], 1
push 0x32
sete cl
lea edx, [esp + 0x228]
push edx
push 0x4a74e8
push eax
mov dword [ebx + 0x344], ecx
call fcn.0048450b
mov ecx, dword [edi]
push esi
push 0x4a74fc
push ecx
call fcn.0048450b
mov ecx, dword [edi]
add esp, 0x1c
xor edx, edx
cmp dword [esi], 1
push 0x32
sete dl
lea eax, [esp + 0x228]
push eax
push 0x4a74e8
push ecx
mov dword [0x4b9ed8], edx
call fcn.0048450b
mov edx, dword [edi]
push esi
push 0x4a74fc
push edx
call fcn.0048450b
mov edx, dword [edi]
add esp, 0x1c
xor eax, eax
cmp dword [esi], 1
push 0x32
sete al
lea ecx, [esp + 0x228]
push ecx
push 0x4a74e8
push edx
mov dword [0x4b9ed4], eax
call fcn.0048450b
mov eax, dword [edi]
push esi
push 0x4a74fc
push eax
call fcn.0048450b
xor ecx, ecx
add esp, 0x1c
cmp dword [esi], 1
push 0
sete cl
mov dword [0x4b9ec0], ecx
mov ecx, ebx
call fcn.0047a4b1
push 0xff0000
mov ecx, str.Load_CFG_File_Success____
mov esi, ebx
call fcn.00468240
mov ecx, ebx
call fcn.00472900
mov byte [esp + 0x2a0], 5
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x464471
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2a0], 4
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464499
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2a0], 3
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4644c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2a0], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464507
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [edi]
push ecx
call fcn.00483dd6
add esp, 4
jmp 0x46452b
push 0xff
mov ecx, str.Load_CFG_File_Fail._Use__Default___Previous__Setting___
mov esi, ebx
call fcn.00468240
mov ecx, dword [edi]
push ecx
call fcn.00483dd6
add esp, 4
jmp 0x46452b
cmp dword [esp + 0x18], esi
jne 0x46452b
push 0xff
mov ecx, str.Can_not_open_CFG_File____
mov esi, ebx
call fcn.00468240
mov dword [esp + 0x2a0], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x464556
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x298]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x280]
xor ecx, esp
call fcn.00483e52
mov esp, ebp
pop ebp
ret