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

Disassembly:
push 0xffffffffffffffff
push 0x4a2791
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x4cd4a4]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov esi, ecx
push str.Sub
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], 0
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
mov ecx, dword [esp + 0x78]
push ecx
push eax
lea edx, [esp + 0x24]
mov edi, 1
push edx
mov dword [esp + 0x78], edi
call sub.jfutility.dll_class_jfString___cdecl_operator_class_jfString_const___class_jfString_const__
add esp, 0xc
cmp dword [esp + 0x40], 0
mov byte [esp + 0x6c], 3
je 0x4169fe
lea ecx, [esp + 0x3c]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
add esi, 0x148
push ecx
mov ecx, esi
call sub.jfutility.dll_public:_int___thiscall_jfString::FindNoCase_class_jfString_const___unsigned_int___unsigned_int_const
test eax, eax
jne 0x416a34
mov esi, dword [esp + 0x74]
push 0x4b3e2b
mov ecx, esi
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
mov dword [esp + 0x10], edi
jmp 0x416bea
push str.End_Sub
lea ecx, [esp + 0x30]
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
mov byte [esp + 0x78], 4
call sub.jfutility.dll_public:_int___thiscall_jfString::FindNoCase_class_jfString_const___unsigned_int___unsigned_int_const
test eax, eax
jne 0x416a7a
mov esi, dword [esp + 0x74]
push 0x4b3e2b
mov ecx, esi
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
mov dword [esp + 0x10], edi
jmp 0x416bd5
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0
sub edx, eax
push edx
push eax
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call sub.jfutility.dll_public:_class_jfString___thiscall_jfString::Substring_unsigned_int__unsigned_int__unsigned_int_
mov esi, eax
push 0x4b413c
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 5
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
push esi
push eax
lea ecx, [esp + 0x4c]
push ecx
mov byte [esp + 0x78], 6
call sub.jfutility.dll_class_jfString___cdecl_operator_class_jfString_const___class_jfString_const__
lea edx, [esp + 0x38]
push edx
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x84], 7
call sub.jfutility.dll_class_jfString___cdecl_operator_class_jfString_const___class_jfString_const__
add esp, 0x18
cmp dword [esp + 0x48], 0
mov byte [esp + 0x6c], 9
je 0x416aea
lea ecx, [esp + 0x44]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
cmp dword [esp + 0x50], 0
mov byte [esp + 0x6c], 0xa
je 0x416aff
lea ecx, [esp + 0x4c]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
cmp dword [esp + 0x58], 0
mov byte [esp + 0x6c], 0xb
je 0x416b14
lea ecx, [esp + 0x54]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
push 0x4b4138
lea ecx, [esp + 0x38]
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
push 0
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 0xc
call sub.jfutility.dll_public:_int___thiscall_jfString::FindNoCase_class_jfString_const___unsigned_int___unsigned_int_const
test eax, eax
je 0x416b97
push 0x4b4134
lea ecx, [esp + 0x60]
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_char_const__
mov ecx, dword [esp + 0xc]
push edi
push ecx
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 0xd
call sub.jfutility.dll_public:_void___thiscall_jfString::Replace_class_jfString_const___unsigned_int__unsigned_int_
cmp dword [esp + 0x60], 0
mov byte [esp + 0x6c], 0xc
je 0x416b78
lea ecx, [esp + 0x5c]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
mov eax, dword [esp + 0xc]
add eax, 3
push eax
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x30]
call sub.jfutility.dll_public:_int___thiscall_jfString::FindNoCase_class_jfString_const___unsigned_int___unsigned_int_const
test eax, eax
jne 0x416b40
mov esi, dword [esp + 0x74]
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call sub.jfutility.dll_public:_void___thiscall_jfString::constructor_class_jfString_const__
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], edi
mov byte [esp + 0x6c], 0xb
je 0x416bc0
lea ecx, [esp + 0x34]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
cmp dword [esp + 0x28], 0
mov byte [esp + 0x6c], 4
je 0x416bd5
lea ecx, [esp + 0x24]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
cmp dword [esp + 0x30], 0
mov byte [esp + 0x6c], 3
je 0x416bea
lea ecx, [esp + 0x2c]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
cmp dword [esp + 0x20], 0
mov byte [esp + 0x6c], 0
je 0x416bff
lea ecx, [esp + 0x1c]
call sub.jfutility.dll_private:_void___thiscall_jfString::ReleaseData_void_
mov eax, esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x64
ret 8