Function at 0x609b70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x4f0
mov ecx, dword [ebp + 0xc]
mov eax, dword [0x7adbc0]
xor eax, ebp
cmp ecx, 0x7f
mov ebx, dword [ebp + 0x14]
jne 0x609b91
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov eax, 0
mov edx, dword [ebx + 0x124]
sete al
mov dword [ebp - 0x3fc], ecx
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x3f8], edx
mov dword [ebp - 0x410], eax
test ecx, ecx
je 0x60afa4
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x609bd6
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x609bc1
dec eax
movsx esi, word [ebx + 0x188]
cmp esi, eax
lea edx, [ebp - 0x15c]
ja 0x609be9
mov esi, eax
push esi
push ecx
push edx
call fcn.006c86b0
add esp, 0xc
movzx eax, byte [ebx + 0x1aa]
lea esi, [ebp + esi - 0x15c]
mov byte [esi], 0
btr eax, 3
jae 0x609cbb
mov byte [ebx + 0x1aa], al
mov dword [ebp - 0x420], str._I64d
mov eax, dword [ebx + 0xb8]
add eax, 0xffffffff
mov edx, dword [ebx + 0xbc]
adc edx, 0xffffffff
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], edx
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x41c]
push eax
push 0
push str._I64d
push 0xffffffffffffffff
push 0x7f6960
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.006bd03d
mov eax, dword [ebx + 0x50]
sub eax, dword [ebx + 0x5c]
push eax
push 0x7f6960
push 2
push 0x202
call fcn.0060cde0
add esp, 0x2c
mov dword [ebp - 0x40c], 0x746a00
mov dword [ebp - 0x408], eax
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x408]
push eax
push 0
push 0x746a00
push 0xffffffffffffffff
push esi
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.006bd03d
add esp, 0x1c
test byte [ebx + 0x1a2], 0x40
je 0x609ce9
cmp dword [ebp - 0x3fc], 0x3f
je 0x609ce9
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x609ce9
mov byte [eax + 0x1e], 0
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x609ce9
mov byte [eax + 0x1f], 0
mov eax, dword [ebp - 0x3fc]
lea edx, [eax - 0x67]
mov dword [ebp - 0x4f0], edx
cmp edx, 1
ja 0x609d0b
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x444], eax
jmp 0x609d15
mov dword [ebp - 0x444], 0
mov eax, dword [ebp + 0x10]
xor esi, esi
mov edx, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x124]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], esi
cmp dword [0x7abee4], 2
jl 0x609d63
lea eax, [ebp - 0x3f0]
push eax
call fcn.006079d0
add esp, 4
test eax, eax
jne 0x60a702
mov edi, dword [ebp - 0x3f0]
lea eax, [ebp - 0x24]
add edi, 0x10
jmp 0x609d75
mov dword [ebp - 0x3f0], 0x7abe40
mov edi, 0x7abe50
lea eax, [ebp - 0x24]
mov ebx, eax
mov edx, dword [ebp - 0x24]
mov dword [edi], edx
mov ecx, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov esi, dword [ebp - 0x1c]
mov dword [edi + 8], esi
mov edx, dword [ebp - 0x18]
mov dword [edi + 0xc], edx
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x10], edx
mov esi, dword [ebp - 0x3f0]
push 0x14
push ebx
lea edi, [esi + 0x10]
push edi
call fcn.0065d930
add esp, 0xc
test eax, eax
jne 0x609d77
mov ebx, dword [ebp + 0x14]
cmp dword [ebp - 0x444], 0
je 0x609e0a
mov ecx, dword [ebp - 0x444]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x609dd6
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x609dc1
dec eax
mov edi, eax
add esi, 0x24
cmp edi, 0x40
mov ebx, ecx
jb 0x609de7
mov edi, 0x40
push edi
push ebx
push esi
call fcn.0065d430
push edi
mov esi, dword [ebp - 0x3f0]
push ebx
add esi, 0x24
push esi
call fcn.0065d930
add esp, 0x18
test eax, eax
jne 0x609de7
mov ebx, dword [ebp + 0x14]
movsx edx, byte [ebx + 0x194]
lea eax, [edx - 1]
cmp eax, 2
jbe 0x609e2d
lea eax, [edx - 0x18]
cmp eax, 1
jbe 0x609e2d
add edx, 0xffffffe0
cmp edx, 2
jbe 0x609e2d
xor edx, edx
jmp 0x609e32
mov edx, 1
movzx eax, byte [ebx + 0x1a4]
test al, 1
je 0x609e89
cmp dword [ebp - 0x3fc], 0x18
je 0x609e89
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x609e89
cmp dword [ebp - 0x3fc], 0x265
je 0x609e89
test edx, edx
je 0x609e68
cmp dword [ebp - 0x3fc], 0x1b
je 0x609e89
cmp dword [ebp - 0x3fc], 0x10c
je 0x609e89
cmp dword [ebp - 0x3fc], 0xfffffffe
je 0x609e89
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x609e9b
test byte [ebx + 0x1a7], 8
je 0x609eb3
cmp dword [ebp - 0x3fc], 0x3f
jne 0x609eb3
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x108], 0
mov dword [ebp - 0x3fc], eax
jmp 0x60a059
test al, 2
je 0x609f1f
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x609ec9
cmp dword [ebp - 0x3fc], 0x18
jne 0x609f06
mov dword [ebx + 0x108], 0
test al, 0x40
jne 0x609ee0
test byte [ebx + 0x1a0], 1
jne 0x609ee7
mov edx, 1
jmp 0x609ee9
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xffffffff
jmp 0x60a059
test edx, edx
je 0x609f13
cmp dword [ebp - 0x3fc], 0x1b
je 0x609ec9
cmp dword [ebp - 0x3fc], 0x265
je 0x609ec9
test al, 4
je 0x609f7f
cmp dword [ebp - 0x3fc], 0xfffffffe
je 0x609f44
cmp dword [ebp - 0x3fc], 0x10c
je 0x609f44
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x609f7f
mov dword [ebx + 0x108], 0
test al, 0x40
je 0x609f60
movzx edx, byte [ebx + 0x1a0]
not edx
and edx, 1
jmp 0x609f62
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xfffffffe
jmp 0x60a059
test byte [ebx + 0x1ae], 0x10
je 0x60a29e
mov dword [ebx + 0x108], 0
cmp dword [ebp - 0x3fc], 0x18
je 0x609fab
cmp dword [ebp - 0x3fc], 0x265
jne 0x609fdb
test al, 0x40
jne 0x609fb8
test byte [ebx + 0x1a0], 1
jne 0x609fbf
mov edx, 1
jmp 0x609fc1
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xffffffff
jmp 0x60a059
test edx, edx
je 0x609fe8
cmp dword [ebp - 0x3fc], 0x1b
je 0x609fab
cmp dword [ebp - 0x3fc], 0x10c
je 0x60a000
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x60a02e
test al, 0x40
je 0x60a012
movzx edx, byte [ebx + 0x1a0]
not edx
and edx, 1
jmp 0x60a014
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xfffffffe
jmp 0x60a059
test al, 0x40
je 0x60a040
movzx edx, byte [ebx + 0x1a0]
not edx
and edx, 1
jmp 0x60a042
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3fc], eax
mov esi, dword [ebx + 0x114]
test esi, esi
je 0x60a28d
cmp dword [ebp - 0x444], 0
je 0x60a114
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push dword [ebp - 0x444]
push 3
push dword [ebp + 0x10]
call fcn.0060cde0
mov ecx, eax
add esp, 0x14
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60a0ad
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60a098
dec eax
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0x4f4], eax
cmp eax, edx
jb 0x60a0cf
push edx
push ecx
push dword [ebx + 0x9c]
call fcn.0065d430
add esp, 0xc
jmp 0x60a103
push dword [ebp - 0x4f4]
push ecx
push dword [ebx + 0x9c]
call fcn.0065d430
mov eax, dword [ebp - 0x4f4]
mov edx, dword [ebx + 0x114]
sub edx, eax
push edx
mov ecx, dword [ebx + 0x9c]
push 0x20
add ecx, eax
push ecx
call fcn.0065d380
add esp, 0x18
cmp dword [ebp + 8], 0
je 0x60a6dc
xor esi, esi
jmp 0x60a3a4
cmp dword [ebp - 0x3fc], 0x7f
je 0x60a872
cmp dword [ebp - 0x410], 0
jne 0x60a27c
test byte [ebx + 0x1ad], 0x10
jne 0x60a27c
mov eax, dword [ebp - 0x3f8]
lea edx, [ebp - 0x15c]
mov dword [ebp - 0x490], 2
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
cmp dword [0x7adac0], 0
je 0x60a1ec
mov dword [0x7adac0], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x4d0], str._lu__s
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4c8], str.ifcore_msg.dll
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x4cc]
push eax
push 0
push str._lu__s
push 0xffffffffffffffff
mov esi, dword [ecx]
lea edx, [ebp - 0x24c]
push edx
push dword [ecx + 4]
or esi, 1
push esi
call fcn.006bd03d
add esp, 0x1c
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x22dfaf8], eax
test eax, eax
je 0x60a712
mov dword [0x7adac4], 0
call fcn.0060c680
mov ecx, dword [ebp + 0x10]
xor edx, edx
lea eax, [edx + edx*2]
cmp ecx, dword [eax*4 + 0x7abfa0]
je 0x60a724
inc edx
cmp edx, 0x23b
jl 0x60a1f1
mov byte [0x7f6a60], 0
mov ecx, 0x7f6a60
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60a22d
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60a218
dec eax
mov esi, eax
mov eax, dword [ebx + 0x114]
cmp esi, eax
jb 0x60a24f
push eax
push 0x7f6a60
push dword [ebx + 0x9c]
call fcn.0065d430
add esp, 0xc
jmp 0x60a27c
push esi
push 0x7f6a60
push dword [ebx + 0x9c]
call fcn.0065d430
mov eax, dword [ebx + 0x114]
sub eax, esi
push eax
mov edx, dword [ebx + 0x9c]
push 0x20
add edx, esi
push edx
call fcn.0065d380
add esp, 0x18
cmp dword [ebp + 8], 0
je 0x60a6dc
xor esi, esi
jmp 0x60a3a4
cmp dword [ebp + 8], 0
je 0x60a6dc
xor esi, esi
jmp 0x60a3a4
mov byte [ebp - 0x400], 0xa
cmp dword [0x80ec60], 0
jne 0x60af9a
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edi, eax
xor esi, esi
mov ecx, dword [esi*4 + 0x743050]
cmp ecx, dword [ebx + 0x124]
jne 0x60a2ec
mov dword [ebp - 0x3f4], ebx
mov edx, ebx
test byte [ebx + 0x1a1], 0x20
je 0x60a351
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x60a351
xor ecx, ecx
jmp 0x60a327
push 0xf
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x3f4]
push edx
push ecx
call fcn.00611150
add esp, 0x10
test eax, eax
jne 0x60a351
mov edx, dword [ebp - 0x3f4]
test byte [edx + 0x1a1], 0x20
je 0x60a343
mov eax, dword [edx + 0x94]
test eax, eax
je 0x60a343
mov ecx, 1
cmp byte [eax + 0x1c], 0
jne 0x60a333
cmp byte [eax + 0x1d], 0
je 0x60a33f
cmp edi, dword [edx + 0x104]
je 0x60ada0
test ecx, ecx
je 0x60a351
push dword [edx + 0x124]
call fcn.00612960
add esp, 4
inc esi
cmp esi, 4
jl 0x60a2be
mov edx, dword [ebx + 0x108]
test edx, edx
jne 0x60af81
cmp dword [ebp - 0x4f0], 1
ja 0x60a37e
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x444], eax
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx + 0x9c]
mov dword [0x7f6ba8], eax
mov dword [0x7f6ba4], edx
cmp dword [ebp + 8], 0
je 0x60a555
mov esi, 1
cmp dword [ebp + 8], 1
je 0x60a53f
cmp dword [ebp + 8], 2
jne 0x60a514
mov eax, dword [ebx + 0x124]
mov edx, dword [ebx + 0x7c]
mov edi, dword [ebx + 0x70]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x44c], edx
test edi, edi
je 0x60a409
test byte [edi + 0x73], 2
je 0x60a3ec
push dword [edi + 4]
call fcn.005e1540
add esp, 4
mov dword [edi + 4], 0
movzx eax, word [ebx + 0x18a]
test eax, eax
jg 0x60a402
push dword [ebx + 0x70]
call fcn.005e1540
add esp, 4
mov dword [ebx + 0x70], 0
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x60a419
push eax
call fcn.005e1540
add esp, 4
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x60a434
movsx eax, word [ebx + 0x188]
test eax, eax
je 0x60a434
push edx
call fcn.005e1540
add esp, 4
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x60a44a
cmp eax, 0xffffffff
je 0x60a44a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebx + 0x3c]
lea eax, [ebx + 0x20]
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x460], ecx
movzx edi, byte [ebx + 0x1ad]
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebx + 0xa8]
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x468], ecx
test byte [ebx + 0x1a1], 0x18
je 0x60a4a9
push 0x198
push 0
push eax
call fcn.0065d380
add esp, 0xc
movzx eax, byte [ebx + 0x1a1]
and eax, 0xffffffe7
add eax, 8
mov byte [ebx + 0x1a1], al
jmp 0x60a4b9
push 0x198
push 0
push eax
call fcn.0065d380
add esp, 0xc
mov edx, dword [ebp - 0x464]
mov dword [ebx + 0x3c], edx
movzx eax, byte [ebx + 0x1ad]
mov edx, edi
and eax, 0xfffffffd
and edx, 2
mov edi, dword [ebp - 0x448]
or eax, edx
mov ecx, dword [ebp - 0x460]
mov dword [ebx + 0x40], ecx
mov byte [ebx + 0x1ad], al
mov dword [ebx + 0x124], edi
push edi
mov eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x468]
mov edi, dword [ebp - 0x44c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0xa8], ecx
mov dword [ebx + 0x7c], edi
call fcn.00612960
jmp 0x60a54a
cmp dword [ebp + 8], 3
jne 0x60a527
push 1
push ebx
call fcn.005f19f0
add esp, 8
jmp 0x60a54d
push 0xbd0
push str.for_diags_intel.c
push 2
push 8
call fcn.0060b140
add esp, 0x10
jmp 0x60a54d
push dword [ebx + 0x124]
call fcn.00612960
add esp, 4
test esi, esi
je 0x60a6dc
cmp dword [ebp - 0x444], 0
je 0x60a586
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push dword [ebp - 0x444]
push 3
push dword [ebp - 0x3fc]
call fcn.0060b140
add esp, 0x14
jmp 0x60a6d0
cmp dword [ebp - 0x3fc], 0x7f
je 0x60a59c
cmp dword [ebp - 0x410], 0
je 0x60a6b3
cmp dword [ebp + 0x10], 0xffffffff
jne 0x60a5a9
mov ebx, 0x18
jmp 0x60a5b6
mov ebx, dword [ebp + 0x10]
cmp ebx, 0xfffffffe
jne 0x60a5b6
mov ebx, 0x10c
mov eax, dword [0x7f6ba8]
test eax, eax
je 0x60a5d8
push dword [0x7f6ba4]
push eax
push ebx
push 3
push 0x7f
call fcn.0060b140
add esp, 0x14
jmp 0x60a6d0
mov dword [ebp - 0x448], 0
cmp dword [0x7adac0], 0
je 0x60a664
mov dword [0x7adac0], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov esi, str._lu__s
mov dword [ebp - 0x46c], esi
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], str.ifcore_msg.dll
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x468]
push eax
push 0
push esi
push 0xffffffffffffffff
mov ecx, dword [edx]
lea esi, [ebp - 0x1ac]
push esi
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.006bd03d
add esp, 0x1c
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x22dfaf8], eax
test eax, eax
je 0x60ae1f
mov dword [0x7adac4], 0
call fcn.0060c680
xor edx, edx
lea eax, [edx + edx*2]
cmp ebx, dword [eax*4 + 0x7abfa0]
je 0x60ae31
inc edx
cmp edx, 0x23b
jl 0x60a666
mov byte [0x7f6a60], 0
mov ecx, 0x7f6a60
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60a6a2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60a68d
dec eax
push ecx
push eax
push ebx
push 3
push 0x7f
call fcn.0060b140
add esp, 0x14
jmp 0x60a6d0
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push 2
push dword [ebp - 0x3fc]
call fcn.0060b140
add esp, 0x10
xor eax, eax
mov dword [0x7f6ba8], eax
mov dword [0x7f6ba4], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x60af7c
mov eax, dword [ebp - 0x3fc]
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0
push eax
call fcn.0060b140
add esp, 8
jmp 0x609e0a
cmp dword [0x7adac4], 0
je 0x60a1e7
jmp 0x60a1ec
mov edx, dword [eax*4 + 0x7abfa4]
mov dword [0x7f6b68], edx
cmp dword [0x7adac4], 0
je 0x60a749
mov eax, dword [eax*4 + 0x7abfa8]
mov dword [ebp - 0x4f4], eax
jmp 0x60a7bc
push 0
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x494]
push 0x200
push edx
push 0x409
mov eax, dword [eax*4 + 0x7abfa8]
lea esi, [ecx - 0x80000000]
push esi
push dword [0x22dfaf8]
mov dword [edx - 0x60], eax
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x60a7bc
mov ecx, dword [ebp - 0x494]
mov dword [ebp - 0x4f4], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60a7a8
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60a793
dec eax
mov edx, eax
cmp edx, 1
jbe 0x60a7bc
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
je 0x60a840
cmp dword [ebp - 0x4f4], 0
je 0x60a20a
mov edi, str.place_holder
mov esi, dword [ebp - 0x4f4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x60a7f4
test dl, dl
je 0x60a7f0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x60a7f4
add edi, 2
add esi, 2
test dl, dl
jne 0x60a7d4
xor eax, eax
jmp 0x60a7f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x60a20a
cmp dword [ebp - 0x490], 0
jle 0x60a855
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x48c]
push eax
push 0
push dword [ebp - 0x4f4]
push 0x108
push 0x7f6a60
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 2
push ecx
call fcn.006bd03d
add esp, 0x1c
jmp 0x60a211
cmp byte [eax + edx - 1], 0xa
jne 0x60a7bc
mov byte [eax + edx - 2], 0
jmp 0x60a7bc
push 0x100
push dword [ebp - 0x4f4]
push 0x7f6a60
call fcn.006c86b0
add esp, 0xc
jmp 0x60a211
mov eax, dword [ebx + 0x9c]
lea edx, [ebp - 0x470]
push edx
push 0
mov dword [edx - 0x5c], eax
lea ecx, [esi + 1]
push ecx
call fcn.005e1480
add esp, 0xc
test eax, eax
je 0x60a8a2
push 0
push 0x29
call fcn.0060b140
add esp, 8
jmp 0x60a8ab
cmp dword [ebp - 0x470], 0
je 0x60a894
cmp dword [0x7adac0], 0
je 0x60a93a
mov dword [0x7adac0], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x4e0], str._lu__s
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], str.ifcore_msg.dll
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x4dc]
push eax
push 0
push str._lu__s
push 0xffffffffffffffff
mov edi, dword [ecx]
lea edx, [ebp - 0x29c]
push edx
push dword [ecx + 4]
or edi, 1
push edi
call fcn.006bd03d
add esp, 0x1c
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x22dfaf8], eax
test eax, eax
je 0x60abff
mov dword [0x7adac4], 0
call fcn.0060c680
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x7abfa0], 0x7f
je 0x60aced
inc edx
cmp edx, 0x23b
jl 0x60a93c
mov ecx, dword [ebp - 0x4c8]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60a973
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60a95e
dec eax
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4a0], 0x749de8
mov dword [ebp - 0x49c], eax
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x49c]
push eax
push 0
push 0x749de8
push 0xffffffffffffffff
mov edi, dword [ecx]
lea edx, [ebp - 0x39c]
push edx
push dword [ecx + 4]
or edi, 1
push edi
call fcn.006bd03d
add esp, 0x1c
mov dword [ebp - 0x4f4], esi
test esi, esi
jle 0x60a9e9
mov ecx, esi
mov ebx, dword [ebp - 0x4cc]
movsx edx, byte [ecx + ebx - 1]
cmp edx, 0x20
je 0x60a9db
test edx, edx
jne 0x60a9e0
dec ecx
test ecx, ecx
jg 0x60a9cd
mov dword [ebp - 0x4f4], ecx
mov ebx, dword [ebp + 0x14]
test eax, eax
mov edx, dword [ebp - 0x4f0]
jge 0x60a9f8
mov eax, 0xffffffff
neg edx
add edx, esi
sub edx, eax
add edx, 6
mov dword [ebp - 0x4f0], edx
js 0x60acd6
mov edi, dword [ebp - 0x4f4]
mov ecx, edx
cmp ecx, edi
mov eax, dword [ebp - 0x4c8]
jl 0x60aa21
mov ecx, edi
mov dword [ebp - 0x4c0], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x4b4], eax
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x4bc]
push eax
push 0
push dword [ebp - 0x4c8]
push 0xffffffffffffffff
push dword [ebp - 0x470]
push dword [edx + 4]
mov ecx, dword [edx]
or ecx, 1
push ecx
call fcn.006bd03d
add esp, 0x1c
test eax, eax
jge 0x60aa7a
mov eax, 0xffffffff
cmp esi, eax
jbe 0x60aa96
mov edx, dword [ebp - 0x470]
add edx, eax
neg eax
add eax, esi
push eax
push 0x20
push edx
call fcn.0065d380
add esp, 0xc
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [ebp - 0x4f4]
jge 0x60abda
cmp dword [0x7adac0], 0
je 0x60ab37
mov dword [0x7adac0], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x4f4], str._lu__s
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], str.ifcore_msg.dll
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x4f0]
push eax
push 0
push str._lu__s
push 0xffffffffffffffff
mov edi, dword [ecx]
lea edx, [ebp - 0x3ec]
push edx
push dword [ecx + 4]
or edi, 1
push edi
call fcn.006bd03d
add esp, 0x1c
lea eax, [ebp - 0x3ec]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x22dfaf8], eax
test eax, eax
je 0x60ac11
mov dword [0x7adac4], 0
call fcn.0060c680
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x7abfa0], 0x81
je 0x60ac23
inc edx
cmp edx, 0x23b
jl 0x60ab39
mov eax, dword [ebp - 0x4c8]
push 1
mov dword [ebp - 0x4a8], eax
call fcn.006a2dd2
mov dword [ebp - 0x4d0], eax
add esp, 4
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x4a4]
push eax
push 0
push dword [ebp - 0x4c8]
push dword [ebp - 0x4d0]
push dword [edx + 4]
push dword [edx]
call fcn.006bcbdd
push 1
mov dword [ebp - 0x4a4], 0x749dec
call fcn.006a2dd2
mov dword [ebp - 0x4d0], eax
add esp, 0x1c
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x4a0]
push eax
push 0
push 0x749dec
push dword [ebp - 0x4d0]
push dword [edx + 4]
push dword [edx]
call fcn.006bcbdd
add esp, 0x18
push esi
push dword [ebp - 0x470]
push dword [ebp - 0x4cc]
call fcn.0065d430
push dword [ebp - 0x470]
call fcn.005e1540
add esp, 0x10
jmp 0x60a27c
cmp dword [0x7adac4], 0
je 0x60a935
jmp 0x60a93a
cmp dword [0x7adac4], 0
je 0x60ab32
jmp 0x60ab37
mov edx, dword [eax*4 + 0x7abfa4]
mov dword [0x7f6b68], edx
cmp dword [0x7adac4], 0
je 0x60ac4b
mov eax, dword [eax*4 + 0x7abfa8]
mov dword [ebp - 0x4c8], eax
jmp 0x60ab56
push 0
push 0x200
mov eax, dword [eax*4 + 0x7abfa8]
lea edx, [ebp - 0x4e4]
push edx
push 0x409
mov dword [edx + 0x1c], eax
push 0x80000081
push dword [0x22dfaf8]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x60ab56
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4c8], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60aca9
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60ac94
dec eax
mov edx, eax
cmp edx, 1
jbe 0x60ab56
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
jne 0x60ab56
cmp byte [eax + edx - 1], 0xa
jne 0x60ab56
mov byte [eax + edx - 2], 0
jmp 0x60ab56
push esi
push dword [ebp - 0x4c8]
push dword [ebp - 0x470]
call fcn.006c86b0
jmp 0x60aa93
mov edx, dword [eax*4 + 0x7abfa4]
mov dword [0x7f6b68], edx
cmp dword [0x7adac4], 0
je 0x60ad15
mov eax, dword [eax*4 + 0x7abfa8]
mov dword [ebp - 0x4c8], eax
jmp 0x60a956
push 0
push 0x200
mov eax, dword [eax*4 + 0x7abfa8]
lea edx, [ebp - 0x4ac]
push edx
push 0x409
mov dword [edx - 0x1c], eax
push 0x8000007f
push dword [0x22dfaf8]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x60a956
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4c8], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60ad73
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60ad5e
dec eax
mov edx, eax
cmp edx, 1
jbe 0x60a956
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
jne 0x60a956
cmp byte [eax + edx - 1], 0xa
jne 0x60a956
mov byte [eax + edx - 2], 0
jmp 0x60a956
push 1
mov dword [ebp - 0x4f4], ecx
lea eax, [ebp - 0x400]
push eax
push edx
call fcn.00621250
add esp, 0xc
cmp eax, 0xffffffff
je 0x60ae0b
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx + 0x94]
test eax, eax
je 0x60add7
mov byte [eax + 0x1c], 0
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx + 0x94]
test eax, eax
je 0x60ade5
mov byte [eax + 0x1d], 0
cmp dword [ebp - 0x4f4], 0
je 0x60a35b
mov eax, dword [ebp - 0x3f4]
push dword [eax + 0x124]
call fcn.00612960
add esp, 4
jmp 0x60a35b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov eax, str.forrtl
call fcn.0060d5c0
jmp 0x60adbd
cmp dword [0x7adac4], 0
je 0x60a65f
jmp 0x60a664
mov edx, dword [eax*4 + 0x7abfa4]
mov dword [0x7f6b68], edx
cmp dword [0x7adac4], 0
je 0x60ae56
mov eax, dword [eax*4 + 0x7abfa8]
mov dword [ebp - 0x410], eax
jmp 0x60aec6
push 0
push 0x200
mov eax, dword [eax*4 + 0x7abfa8]
lea edx, [ebp - 0x44c]
push edx
push 0x409
lea ecx, [ebx - 0x80000000]
push ecx
push dword [0x22dfaf8]
mov dword [edx + 0x3c], eax
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x60aec6
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x410], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60aeb2
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60ae9d
dec eax
mov edx, eax
cmp edx, 1
jbe 0x60aec6
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
je 0x60af4a
cmp dword [ebp - 0x410], 0
je 0x60a67f
mov edi, str.place_holder
mov esi, dword [ebp - 0x410]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x60aefe
test dl, dl
je 0x60aefa
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x60aefe
add edi, 2
add esi, 2
test dl, dl
jne 0x60aede
xor eax, eax
jmp 0x60af03
sbb eax, eax
or eax, 1
test eax, eax
je 0x60a67f
cmp dword [ebp - 0x448], 0
jle 0x60af5f
call fcn.00692c20
mov edx, eax
lea eax, [ebp - 0x444]
push eax
push 0
push dword [ebp - 0x410]
push 0x108
push 0x7f6a60
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 2
push ecx
call fcn.006bd03d
add esp, 0x1c
jmp 0x60a686
cmp byte [eax + edx - 1], 0xa
jne 0x60aec6
mov byte [eax + edx - 2], 0
jmp 0x60aec6
push 0x100
push dword [ebp - 0x410]
push 0x7f6a60
call fcn.006c86b0
add esp, 0xc
jmp 0x60a686
call fcn.00693023
mov eax, str.forrtl
call fcn.0060d5c0
mov dword [ebx + 0x108], 0
jmp 0x60a369
call fcn.00692590
jmp 0x60a2ba
cmp dword [0x7adac0], 0
je 0x60b02b
mov dword [0x7adac0], 0
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x480], str._lu__s
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], str.ifcore_msg.dll
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x47c]
push eax
push 0
push str._lu__s
push 0xffffffffffffffff
mov esi, dword [ecx]
lea edx, [ebp - 0x1fc]
push edx
push dword [ecx + 4]
or esi, 1
push esi
call fcn.006bd03d
add esp, 0x1c
lea eax, [ebp - 0x1fc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x22dfaf8], eax
test eax, eax
je 0x60b08d
mov dword [0x7adac4], 0
call fcn.0060c680
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x7abfa0], 0x201
je 0x60b098
inc edx
cmp edx, 0x23b
jl 0x60b02d
mov esi, dword [0x7f6b6c]
mov dword [ebp - 0x458], str.__s_
mov dword [ebp - 0x454], esi
call fcn.00692c20
mov ecx, eax
lea eax, [ebp - 0x454]
push eax
push 0
push str.__s_
push 0xffffffffffffffff
mov esi, dword [ecx]
lea edx, [ebp - 0x15c]
push edx
push dword [ecx + 4]
or esi, 1
push esi
call fcn.006bd03d
jmp 0x609cb8
cmp dword [0x7adac4], 0
je 0x60b026
jmp 0x60b02b
mov edx, dword [eax*4 + 0x7abfa4]
mov dword [0x7f6b68], edx
cmp dword [0x7adac4], 0
je 0x60b0bd
mov esi, dword [eax*4 + 0x7abfa8]
mov dword [0x7f6b6c], esi
jmp 0x60b04c
push 0
push 0x200
mov esi, dword [eax*4 + 0x7abfa8]
lea eax, [ebp - 0x45c]
push eax
push 0x409
push 0x80000201
push dword [0x22dfaf8]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x60b11c
mov esi, dword [ebp - 0x45c]
mov ecx, esi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x60b110
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x60b0fb
dec eax
cmp eax, 1
jbe 0x60b11c
cmp byte [esi + eax - 2], 0xd
je 0x60b127
mov dword [0x7f6b6c], esi
jmp 0x60b04c
cmp byte [esi + eax - 1], 0xa
jne 0x60b11c
mov byte [esi + eax - 2], 0
jmp 0x60b11c