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

Disassembly:
push 0xffffffffffffffff
push 0x40df33
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
mov edx, dword [esp + 0x58]
push ebx
push ebp
push esi
mov ebp, dword [edx + 4]
mov esi, ecx
push edi
mov edi, dword [edx + 8]
mov ecx, ebp
xor al, al
cmp ecx, edi
mov dword [esp + 0x14], esi
je 0x40679e
test al, al
jne 0x406786
mov al, byte [ecx]
cmp al, 0x2e
je 0x406786
cmp al, 0x65
je 0x406786
cmp al, 0x45
je 0x406786
cmp al, 0x2b
je 0x406786
cmp al, 0x2d
jne 0x406782
cmp ecx, ebp
jne 0x406786
xor al, al
jmp 0x406788
mov al, 1
inc ecx
cmp ecx, edi
jne 0x406764
test al, al
je 0x40679e
push edx
mov ecx, esi
call fcn.004069f0
jmp 0x4069d6
mov ecx, ebp
cmp byte [ecx], 0x2d
sete al
test al, al
mov byte [esp + 0x13], al
je 0x4067b9
mov edx, dword [0x410000]
inc ecx
neg edx
jmp 0x4067bf
mov edx, dword [0x410008]
mov eax, 0xcccccccd
xor ebx, ebx
mul edx
mov esi, edx
xor eax, eax
shr esi, 3
cmp ecx, edi
jae 0x4067f2
mov dl, byte [ecx]
inc ecx
cmp dl, 0x30
jl 0x40684b
cmp dl, 0x39
jg 0x40684b
cmp eax, esi
jae 0x406838
movsx edx, dl
lea eax, [eax + eax*4]
cmp ecx, edi
lea eax, [edx + eax*2 - 0x30]
jb 0x4067d3
mov cl, byte [esp + 0x13]
test cl, cl
je 0x40695e
neg eax
push eax
lea ecx, [esp + 0x3c]
call fcn.0040a3c0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x64], 3
call fcn.00407b50
mov ecx, eax
call fcn.0040a900
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x38]
jmp 0x4069cf
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
push eax
call fcn.004069f0
jmp 0x4069d6
mov cl, byte [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Freeze_void_]
mov esi, dword [esp + 0x1c]
push edi
push ebp
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCP60.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::end_void_]
push eax
push esi
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::replace_char___char___char_const___char_const__]
lea edx, [esp + 0x18]
lea eax, [esp + 0x38]
push edx
push 0x413448
push eax
mov dword [esp + 0x6c], ebx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
push str._is_not_a_number.
lea ecx, [esp + 0x38]
push eax
push ecx
mov byte [esp + 0x78], 1
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
add esp, 0x18
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
push ebx
push edx
push eax
mov byte [esp + 0x6c], 2
call fcn.00407930
mov bl, al
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
je 0x4068f3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4068ea
cmp al, 0xff
je 0x4068ea
dec al
mov byte [ecx], al
jmp 0x4068f3
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], esi
cmp eax, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
je 0x406924
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40691b
cmp al, 0xff
je 0x40691b
dec al
mov byte [ecx], al
jmp 0x406924
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], esi
cmp eax, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
je 0x40695a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x406951
cmp al, 0xff
je 0x406951
dec al
mov byte [ecx], al
mov al, bl
jmp 0x4069d6
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov al, bl
jmp 0x4069d6
mov ecx, dword [0x410004]
push eax
cmp eax, ecx
ja 0x40699d
lea ecx, [esp + 0x3c]
call fcn.0040a3c0
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], 4
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00407b50
mov ecx, eax
call fcn.0040a900
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x38]
jmp 0x4069cf
lea ecx, [esp + 0x4c]
call fcn.0040a3e0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x64], 5
call fcn.00407b50
mov ecx, eax
call fcn.0040a900
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.0040a780
mov al, 1
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x54
ret 4