Function at 0x47ead0
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 [0x543b10]
xor eax, ebp
cmp ecx, 0x7f
mov ebx, dword [ebp + 0x14]
jne 0x47eaf1
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 0x47fec0
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47eb36
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47eb21
dec eax
movsx esi, word [ebx + 0x188]
cmp esi, eax
lea edx, [ebp - 0x15c]
ja 0x47eb49
mov esi, eax
push esi
push ecx
push edx
call fcn.004dbae0
add esp, 0xc
movzx eax, byte [ebx + 0x1aa]
lea esi, [ebp + esi - 0x15c]
mov byte [esi], 0
btr eax, 3
jae 0x47ec1b
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.0045a3e0
mov edx, eax
lea eax, [ebp - 0x41c]
push eax
push 0
push str._I64d
push 0xffffffffffffffff
push 0x2dfa060
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004db990
mov eax, dword [ebx + 0x50]
sub eax, dword [ebx + 0x5c]
push eax
push 0x2dfa060
push 2
push 0x202
call fcn.00481d00
add esp, 0x2c
mov dword [ebp - 0x40c], 0x505200
mov dword [ebp - 0x408], eax
call fcn.0045a3e0
mov edx, eax
lea eax, [ebp - 0x408]
push eax
push 0
push 0x505200
push 0xffffffffffffffff
push esi
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 1
push ecx
call fcn.004db990
add esp, 0x1c
test byte [ebx + 0x1a2], 0x40
je 0x47ec49
cmp dword [ebp - 0x3fc], 0x3f
je 0x47ec49
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x47ec49
mov byte [eax + 0x1e], 0
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x47ec49
mov byte [eax + 0x1f], 0
mov eax, dword [ebp - 0x3fc]
lea edx, [eax - 0x67]
mov dword [ebp - 0x4f0], edx
cmp edx, 1
ja 0x47ec6b
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x444], eax
jmp 0x47ec75
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 [0x538bc4], 2
jl 0x47ecc3
lea eax, [ebp - 0x3f0]
push eax
call fcn.004556c0
add esp, 4
test eax, eax
jne 0x47f61e
mov edi, dword [ebp - 0x3f0]
lea eax, [ebp - 0x24]
add edi, 0x10
jmp 0x47ecd5
mov dword [ebp - 0x3f0], 0x538b20
mov edi, 0x538b30
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.004cae50
add esp, 0xc
test eax, eax
jne 0x47ecd7
mov ebx, dword [ebp + 0x14]
cmp dword [ebp - 0x444], 0
je 0x47ed6a
mov ecx, dword [ebp - 0x444]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47ed36
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47ed21
dec eax
mov edi, eax
add esi, 0x24
cmp edi, 0x40
mov ebx, ecx
jb 0x47ed47
mov edi, 0x40
push edi
push ebx
push esi
call fcn.004ca960
push edi
mov esi, dword [ebp - 0x3f0]
push ebx
add esi, 0x24
push esi
call fcn.004cae50
add esp, 0x18
test eax, eax
jne 0x47ed47
mov ebx, dword [ebp + 0x14]
movsx edx, byte [ebx + 0x194]
lea eax, [edx - 1]
cmp eax, 2
jbe 0x47ed8d
lea eax, [edx - 0x18]
cmp eax, 1
jbe 0x47ed8d
add edx, 0xffffffe0
cmp edx, 2
jbe 0x47ed8d
xor edx, edx
jmp 0x47ed92
mov edx, 1
movzx eax, byte [ebx + 0x1a4]
test al, 1
je 0x47ede9
cmp dword [ebp - 0x3fc], 0x18
je 0x47ede9
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x47ede9
cmp dword [ebp - 0x3fc], 0x265
je 0x47ede9
test edx, edx
je 0x47edc8
cmp dword [ebp - 0x3fc], 0x1b
je 0x47ede9
cmp dword [ebp - 0x3fc], 0x10c
je 0x47ede9
cmp dword [ebp - 0x3fc], 0xfffffffe
je 0x47ede9
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x47edfb
test byte [ebx + 0x1a7], 8
je 0x47ee13
cmp dword [ebp - 0x3fc], 0x3f
jne 0x47ee13
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x108], 0
mov dword [ebp - 0x3fc], eax
jmp 0x47ef75
test al, 2
je 0x47ee7f
cmp dword [ebp - 0x3fc], 0xffffffff
je 0x47ee29
cmp dword [ebp - 0x3fc], 0x18
jne 0x47ee66
mov dword [ebx + 0x108], 0
test al, 0x40
jne 0x47ee40
test byte [ebx + 0x1a0], 1
jne 0x47ee47
mov edx, 1
jmp 0x47ee49
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xffffffff
jmp 0x47ef75
test edx, edx
je 0x47ee73
cmp dword [ebp - 0x3fc], 0x1b
je 0x47ee29
cmp dword [ebp - 0x3fc], 0x265
je 0x47ee29
test al, 4
je 0x47eedf
cmp dword [ebp - 0x3fc], 0xfffffffe
je 0x47eea4
cmp dword [ebp - 0x3fc], 0x10c
je 0x47eea4
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x47eedf
mov dword [ebx + 0x108], 0
test al, 0x40
je 0x47eec0
movzx edx, byte [ebx + 0x1a0]
not edx
and edx, 1
jmp 0x47eec2
xor edx, edx
shl edx, 5
and eax, 0xffffffdf
or eax, edx
mov byte [ebx + 0x1a4], al
mov dword [ebp - 0x3fc], 0xfffffffe
jmp 0x47ef75
test byte [ebx + 0x1ae], 0x10
je 0x47f1ba
mov dword [ebx + 0x108], 0
test al, 0x40
jne 0x47ef03
test byte [ebx + 0x1a0], 1
jne 0x47ef0a
mov ecx, 1
jmp 0x47ef0c
xor ecx, ecx
shl ecx, 5
and eax, 0xffffffdf
or eax, ecx
mov byte [ebx + 0x1a4], al
cmp dword [ebp - 0x3fc], 0x18
je 0x47ef3c
cmp dword [ebp - 0x3fc], 0x265
je 0x47ef3c
test edx, edx
je 0x47ef48
cmp dword [ebp - 0x3fc], 0x1b
jne 0x47ef48
mov dword [ebp - 0x3fc], 0xffffffff
jmp 0x47ef75
cmp dword [ebp - 0x3fc], 0x10c
je 0x47ef60
cmp dword [ebp - 0x3fc], 0x2f6
jne 0x47ef6c
mov dword [ebp - 0x3fc], 0xfffffffe
jmp 0x47ef75
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3fc], eax
mov esi, dword [ebx + 0x114]
test esi, esi
je 0x47f1a9
cmp dword [ebp - 0x444], 0
je 0x47f030
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push dword [ebp - 0x444]
push 3
push dword [ebp + 0x10]
call fcn.00481d00
mov ecx, eax
add esp, 0x14
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47efc9
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47efb4
dec eax
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0x4f4], eax
cmp eax, edx
jb 0x47efeb
push edx
push ecx
push dword [ebx + 0x9c]
call fcn.004ca960
add esp, 0xc
jmp 0x47f01f
push dword [ebp - 0x4f4]
push ecx
push dword [ebx + 0x9c]
call fcn.004ca960
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.004ca8b0
add esp, 0x18
cmp dword [ebp + 8], 0
je 0x47f5f8
xor esi, esi
jmp 0x47f2c0
cmp dword [ebp - 0x3fc], 0x7f
je 0x47f78e
cmp dword [ebp - 0x410], 0
jne 0x47f198
test byte [ebx + 0x1ad], 0x10
jne 0x47f198
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 [0x53a780], 0
je 0x47f108
mov dword [0x53a780], 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.0045a3e0
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.004db990
add esp, 0x1c
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a48098], eax
test eax, eax
je 0x47f62e
mov dword [0x53a784], 0
call fcn.004815a0
mov ecx, dword [ebp + 0x10]
xor edx, edx
lea eax, [edx + edx*2]
cmp ecx, dword [eax*4 + 0x538cc0]
je 0x47f640
inc edx
cmp edx, 0x234
jl 0x47f10d
mov byte [0x2dfa160], 0
mov ecx, 0x2dfa160
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47f149
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47f134
dec eax
mov esi, eax
mov eax, dword [ebx + 0x114]
cmp esi, eax
jb 0x47f16b
push eax
push 0x2dfa160
push dword [ebx + 0x9c]
call fcn.004ca960
add esp, 0xc
jmp 0x47f198
push esi
push 0x2dfa160
push dword [ebx + 0x9c]
call fcn.004ca960
mov eax, dword [ebx + 0x114]
sub eax, esi
push eax
mov edx, dword [ebx + 0x9c]
push 0x20
add edx, esi
push edx
call fcn.004ca8b0
add esp, 0x18
cmp dword [ebp + 8], 0
je 0x47f5f8
xor esi, esi
jmp 0x47f2c0
cmp dword [ebp + 8], 0
je 0x47f5f8
xor esi, esi
jmp 0x47f2c0
mov byte [ebp - 0x400], 0xa
cmp dword [0x2e00b58], 0
jne 0x47feb6
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edi, eax
xor esi, esi
mov ecx, dword [esi*4 + 0x50187c]
cmp ecx, dword [ebx + 0x124]
jne 0x47f208
mov dword [ebp - 0x3f4], ebx
mov edx, ebx
test byte [ebx + 0x1a1], 0x20
je 0x47f26d
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x47f26d
xor ecx, ecx
jmp 0x47f243
push 0xf
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x3f4]
push edx
push ecx
call fcn.0047b2c0
add esp, 0x10
test eax, eax
jne 0x47f26d
mov edx, dword [ebp - 0x3f4]
test byte [edx + 0x1a1], 0x20
je 0x47f25f
mov eax, dword [edx + 0x94]
test eax, eax
je 0x47f25f
mov ecx, 1
cmp byte [eax + 0x1c], 0
jne 0x47f24f
cmp byte [eax + 0x1d], 0
je 0x47f25b
cmp edi, dword [edx + 0x104]
je 0x47fcbc
test ecx, ecx
je 0x47f26d
push dword [edx + 0x124]
call fcn.0047cad0
add esp, 4
inc esi
cmp esi, 4
jl 0x47f1da
mov edx, dword [ebx + 0x108]
test edx, edx
jne 0x47fe9d
cmp dword [ebp - 0x4f0], 1
ja 0x47f29a
mov eax, dword [ebx + 0x80]
mov dword [ebp - 0x444], eax
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx + 0x9c]
mov dword [0x2dfa2a8], eax
mov dword [0x2dfa2a4], edx
cmp dword [ebp + 8], 0
je 0x47f471
mov esi, 1
cmp dword [ebp + 8], 1
je 0x47f45b
cmp dword [ebp + 8], 2
jne 0x47f430
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 0x47f325
test byte [edi + 0x73], 2
je 0x47f308
push dword [edi + 4]
call fcn.00487660
add esp, 4
mov dword [edi + 4], 0
movzx eax, word [ebx + 0x18a]
test eax, eax
jg 0x47f31e
push dword [ebx + 0x70]
call fcn.00487660
add esp, 4
mov dword [ebx + 0x70], 0
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x47f335
push eax
call fcn.00487660
add esp, 4
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x47f350
movsx eax, word [ebx + 0x188]
test eax, eax
je 0x47f350
push edx
call fcn.00487660
add esp, 4
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x47f366
cmp eax, 0xffffffff
je 0x47f366
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 0x47f3c5
push 0x198
push 0
push eax
call fcn.004ca8b0
add esp, 0xc
movzx eax, byte [ebx + 0x1a1]
and eax, 0xffffffe7
add eax, 8
mov byte [ebx + 0x1a1], al
jmp 0x47f3d5
push 0x198
push 0
push eax
call fcn.004ca8b0
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.0047cad0
jmp 0x47f466
cmp dword [ebp + 8], 3
jne 0x47f443
push 1
push ebx
call fcn.0046b8e0
add esp, 8
jmp 0x47f469
push 0xba9
push str.for_diags_intel.c
push 2
push 8
call fcn.00480060
add esp, 0x10
jmp 0x47f469
push dword [ebx + 0x124]
call fcn.0047cad0
add esp, 4
test esi, esi
je 0x47f5f8
cmp dword [ebp - 0x444], 0
je 0x47f4a2
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push dword [ebp - 0x444]
push 3
push dword [ebp - 0x3fc]
call fcn.00480060
add esp, 0x14
jmp 0x47f5ec
cmp dword [ebp - 0x3fc], 0x7f
je 0x47f4b8
cmp dword [ebp - 0x410], 0
je 0x47f5cf
cmp dword [ebp + 0x10], 0xffffffff
jne 0x47f4c5
mov ebx, 0x18
jmp 0x47f4d2
mov ebx, dword [ebp + 0x10]
cmp ebx, 0xfffffffe
jne 0x47f4d2
mov ebx, 0x10c
mov eax, dword [0x2dfa2a8]
test eax, eax
je 0x47f4f4
push dword [0x2dfa2a4]
push eax
push ebx
push 3
push 0x7f
call fcn.00480060
add esp, 0x14
jmp 0x47f5ec
mov dword [ebp - 0x448], 0
cmp dword [0x53a780], 0
je 0x47f580
mov dword [0x53a780], 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.0045a3e0
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.004db990
add esp, 0x1c
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a48098], eax
test eax, eax
je 0x47fd3b
mov dword [0x53a784], 0
call fcn.004815a0
xor edx, edx
lea eax, [edx + edx*2]
cmp ebx, dword [eax*4 + 0x538cc0]
je 0x47fd4d
inc edx
cmp edx, 0x234
jl 0x47f582
mov byte [0x2dfa160], 0
mov ecx, 0x2dfa160
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47f5be
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47f5a9
dec eax
push ecx
push eax
push ebx
push 3
push 0x7f
call fcn.00480060
add esp, 0x14
jmp 0x47f5ec
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x3f8]
push 2
push dword [ebp - 0x3fc]
call fcn.00480060
add esp, 0x10
xor eax, eax
mov dword [0x2dfa2a8], eax
mov dword [0x2dfa2a4], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x543b10]
jne 0x47fe98
mov eax, dword [ebp - 0x3fc]
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
push 0
push eax
call fcn.00480060
add esp, 8
jmp 0x47ed6a
cmp dword [0x53a784], 0
je 0x47f103
jmp 0x47f108
mov edx, dword [eax*4 + 0x538cc4]
mov dword [0x2dfa268], edx
cmp dword [0x53a784], 0
je 0x47f665
mov eax, dword [eax*4 + 0x538cc8]
mov dword [ebp - 0x4f4], eax
jmp 0x47f6d8
push 0
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x494]
push 0x200
push edx
push 0x409
mov eax, dword [eax*4 + 0x538cc8]
lea esi, [ecx - 0x80000000]
push esi
push dword [0x6a48098]
mov dword [edx - 0x60], eax
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x47f6d8
mov ecx, dword [ebp - 0x494]
mov dword [ebp - 0x4f4], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47f6c4
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47f6af
dec eax
mov edx, eax
cmp edx, 1
jbe 0x47f6d8
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
je 0x47f75c
cmp dword [ebp - 0x4f4], 0
je 0x47f126
mov edi, str.place_holder
mov esi, dword [ebp - 0x4f4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x47f710
test dl, dl
je 0x47f70c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x47f710
add edi, 2
add esi, 2
test dl, dl
jne 0x47f6f0
xor eax, eax
jmp 0x47f715
sbb eax, eax
or eax, 1
test eax, eax
je 0x47f126
cmp dword [ebp - 0x490], 0
jle 0x47f771
call fcn.0045a3e0
mov edx, eax
lea eax, [ebp - 0x48c]
push eax
push 0
push dword [ebp - 0x4f4]
push 0x108
push 0x2dfa160
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 2
push ecx
call fcn.004db990
add esp, 0x1c
jmp 0x47f12d
cmp byte [eax + edx - 1], 0xa
jne 0x47f6d8
mov byte [eax + edx - 2], 0
jmp 0x47f6d8
push 0x100
push dword [ebp - 0x4f4]
push 0x2dfa160
call fcn.004dbae0
add esp, 0xc
jmp 0x47f12d
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.004875a0
add esp, 0xc
test eax, eax
je 0x47f7be
push 0
push 0x29
call fcn.00480060
add esp, 8
jmp 0x47f7c7
cmp dword [ebp - 0x470], 0
je 0x47f7b0
cmp dword [0x53a780], 0
je 0x47f856
mov dword [0x53a780], 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.0045a3e0
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.004db990
add esp, 0x1c
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a48098], eax
test eax, eax
je 0x47fb1b
mov dword [0x53a784], 0
call fcn.004815a0
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x538cc0], 0x7f
je 0x47fc09
inc edx
cmp edx, 0x234
jl 0x47f858
mov ecx, dword [ebp - 0x4c8]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47f88f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47f87a
dec eax
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4a0], 0x50848c
mov dword [ebp - 0x49c], eax
call fcn.0045a3e0
mov ecx, eax
lea eax, [ebp - 0x49c]
push eax
push 0
push 0x50848c
push 0xffffffffffffffff
mov edi, dword [ecx]
lea edx, [ebp - 0x39c]
push edx
push dword [ecx + 4]
or edi, 1
push edi
call fcn.004db990
add esp, 0x1c
mov dword [ebp - 0x4f4], esi
test esi, esi
jle 0x47f905
mov ecx, esi
mov ebx, dword [ebp - 0x4cc]
movsx edx, byte [ecx + ebx - 1]
cmp edx, 0x20
je 0x47f8f7
test edx, edx
jne 0x47f8fc
dec ecx
test ecx, ecx
jg 0x47f8e9
mov dword [ebp - 0x4f4], ecx
mov ebx, dword [ebp + 0x14]
test eax, eax
mov edx, dword [ebp - 0x4f0]
jge 0x47f914
mov eax, 0xffffffff
neg edx
add edx, esi
sub edx, eax
add edx, 6
mov dword [ebp - 0x4f0], edx
js 0x47fbf2
mov edi, dword [ebp - 0x4f4]
mov ecx, edx
cmp ecx, edi
mov eax, dword [ebp - 0x4c8]
jl 0x47f93d
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.0045a3e0
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.004db990
add esp, 0x1c
test eax, eax
jge 0x47f996
mov eax, 0xffffffff
cmp esi, eax
jbe 0x47f9b2
mov edx, dword [ebp - 0x470]
add edx, eax
neg eax
add eax, esi
push eax
push 0x20
push edx
call fcn.004ca8b0
add esp, 0xc
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [ebp - 0x4f4]
jge 0x47faf6
cmp dword [0x53a780], 0
je 0x47fa53
mov dword [0x53a780], 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.0045a3e0
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.004db990
add esp, 0x1c
lea eax, [ebp - 0x3ec]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a48098], eax
test eax, eax
je 0x47fb2d
mov dword [0x53a784], 0
call fcn.004815a0
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x538cc0], 0x81
je 0x47fb3f
inc edx
cmp edx, 0x234
jl 0x47fa55
mov eax, dword [ebp - 0x4c8]
push 1
mov dword [ebp - 0x4a8], eax
call fcn.004dc144
mov dword [ebp - 0x4d0], eax
add esp, 4
call fcn.0045a3e0
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.004db804
push 1
mov dword [ebp - 0x4a4], 0x508490
call fcn.004dc144
mov dword [ebp - 0x4d0], eax
add esp, 0x1c
call fcn.0045a3e0
mov edx, eax
lea eax, [ebp - 0x4a0]
push eax
push 0
push 0x508490
push dword [ebp - 0x4d0]
push dword [edx + 4]
push dword [edx]
call fcn.004db804
add esp, 0x18
push esi
push dword [ebp - 0x470]
push dword [ebp - 0x4cc]
call fcn.004ca960
push dword [ebp - 0x470]
call fcn.00487660
add esp, 0x10
jmp 0x47f198
cmp dword [0x53a784], 0
je 0x47f851
jmp 0x47f856
cmp dword [0x53a784], 0
je 0x47fa4e
jmp 0x47fa53
mov edx, dword [eax*4 + 0x538cc4]
mov dword [0x2dfa268], edx
cmp dword [0x53a784], 0
je 0x47fb67
mov eax, dword [eax*4 + 0x538cc8]
mov dword [ebp - 0x4c8], eax
jmp 0x47fa72
push 0
push 0x200
mov eax, dword [eax*4 + 0x538cc8]
lea edx, [ebp - 0x4e4]
push edx
push 0x409
mov dword [edx + 0x1c], eax
push 0x80000081
push dword [0x6a48098]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x47fa72
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4c8], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47fbc5
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47fbb0
dec eax
mov edx, eax
cmp edx, 1
jbe 0x47fa72
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
jne 0x47fa72
cmp byte [eax + edx - 1], 0xa
jne 0x47fa72
mov byte [eax + edx - 2], 0
jmp 0x47fa72
push esi
push dword [ebp - 0x4c8]
push dword [ebp - 0x470]
call fcn.004dbae0
jmp 0x47f9af
mov edx, dword [eax*4 + 0x538cc4]
mov dword [0x2dfa268], edx
cmp dword [0x53a784], 0
je 0x47fc31
mov eax, dword [eax*4 + 0x538cc8]
mov dword [ebp - 0x4c8], eax
jmp 0x47f872
push 0
push 0x200
mov eax, dword [eax*4 + 0x538cc8]
lea edx, [ebp - 0x4ac]
push edx
push 0x409
mov dword [edx - 0x1c], eax
push 0x8000007f
push dword [0x6a48098]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x47f872
mov ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4c8], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47fc8f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47fc7a
dec eax
mov edx, eax
cmp edx, 1
jbe 0x47f872
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
jne 0x47f872
cmp byte [eax + edx - 1], 0xa
jne 0x47f872
mov byte [eax + edx - 2], 0
jmp 0x47f872
push 1
mov dword [ebp - 0x4f4], ecx
lea eax, [ebp - 0x400]
push eax
push edx
call fcn.00482e60
add esp, 0xc
cmp eax, 0xffffffff
je 0x47fd27
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx + 0x94]
test eax, eax
je 0x47fcf3
mov byte [eax + 0x1c], 0
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx + 0x94]
test eax, eax
je 0x47fd01
mov byte [eax + 0x1d], 0
cmp dword [ebp - 0x4f4], 0
je 0x47f277
mov eax, dword [ebp - 0x3f4]
push dword [eax + 0x124]
call fcn.0047cad0
add esp, 4
jmp 0x47f277
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov eax, str.forrtl
call fcn.00481fd0
jmp 0x47fcd9
cmp dword [0x53a784], 0
je 0x47f57b
jmp 0x47f580
mov edx, dword [eax*4 + 0x538cc4]
mov dword [0x2dfa268], edx
cmp dword [0x53a784], 0
je 0x47fd72
mov eax, dword [eax*4 + 0x538cc8]
mov dword [ebp - 0x410], eax
jmp 0x47fde2
push 0
push 0x200
mov eax, dword [eax*4 + 0x538cc8]
lea edx, [ebp - 0x44c]
push edx
push 0x409
lea ecx, [ebx - 0x80000000]
push ecx
push dword [0x6a48098]
mov dword [edx + 0x3c], eax
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x47fde2
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x410], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x47fdce
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x47fdb9
dec eax
mov edx, eax
cmp edx, 1
jbe 0x47fde2
mov eax, ecx
cmp byte [eax + edx - 2], 0xd
je 0x47fe66
cmp dword [ebp - 0x410], 0
je 0x47f59b
mov edi, str.place_holder
mov esi, dword [ebp - 0x410]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x47fe1a
test dl, dl
je 0x47fe16
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x47fe1a
add edi, 2
add esi, 2
test dl, dl
jne 0x47fdfa
xor eax, eax
jmp 0x47fe1f
sbb eax, eax
or eax, 1
test eax, eax
je 0x47f59b
cmp dword [ebp - 0x448], 0
jle 0x47fe7b
call fcn.0045a3e0
mov edx, eax
lea eax, [ebp - 0x444]
push eax
push 0
push dword [ebp - 0x410]
push 0x108
push 0x2dfa160
mov ecx, dword [edx]
push dword [edx + 4]
or ecx, 2
push ecx
call fcn.004db990
add esp, 0x1c
jmp 0x47f5a2
cmp byte [eax + edx - 1], 0xa
jne 0x47fde2
mov byte [eax + edx - 2], 0
jmp 0x47fde2
push 0x100
push dword [ebp - 0x410]
push 0x2dfa160
call fcn.004dbae0
add esp, 0xc
jmp 0x47f5a2
call fcn.004cf95b
mov eax, str.forrtl
call fcn.00481fd0
mov dword [ebx + 0x108], 0
jmp 0x47f285
call fcn.004cf430
jmp 0x47f1d6
cmp dword [0x53a780], 0
je 0x47ff47
mov dword [0x53a780], 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.0045a3e0
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.004db990
add esp, 0x1c
lea eax, [ebp - 0x1fc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x6a48098], eax
test eax, eax
je 0x47ffa9
mov dword [0x53a784], 0
call fcn.004815a0
xor edx, edx
lea eax, [edx + edx*2]
cmp dword [eax*4 + 0x538cc0], 0x201
je 0x47ffb4
inc edx
cmp edx, 0x234
jl 0x47ff49
mov esi, dword [0x2dfa26c]
mov dword [ebp - 0x458], str.__s_
mov dword [ebp - 0x454], esi
call fcn.0045a3e0
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.004db990
jmp 0x47ec18
cmp dword [0x53a784], 0
je 0x47ff42
jmp 0x47ff47
mov edx, dword [eax*4 + 0x538cc4]
mov dword [0x2dfa268], edx
cmp dword [0x53a784], 0
je 0x47ffd9
mov esi, dword [eax*4 + 0x538cc8]
mov dword [0x2dfa26c], esi
jmp 0x47ff68
push 0
push 0x200
mov esi, dword [eax*4 + 0x538cc8]
lea eax, [ebp - 0x45c]
push eax
push 0x409
push 0x80000201
push dword [0x6a48098]
push 0x900
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x480038
mov esi, dword [ebp - 0x45c]
mov ecx, esi
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x48002c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x480017
dec eax
cmp eax, 1
jbe 0x480038
cmp byte [esi + eax - 2], 0xd
je 0x480043
mov dword [0x2dfa26c], esi
jmp 0x47ff68
cmp byte [esi + eax - 1], 0xa
jne 0x480038
mov byte [esi + eax - 2], 0
jmp 0x480038