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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov edi, dword [esp + 0xb0]
call sub.msvcrt.dll_localeconv
mov eax, dword [eax]
mov ebp, edi
movzx eax, byte [eax]
mov dword [esp], edi
mov byte [esp + 0x2c], al
call sub.msvcrt.dll_strlen
lea esi, [eax + 2]
mov dword [esp], esi
call sub.msvcrt.dll_malloc
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
jmp 0x4119e3
add ebp, 1
movzx eax, byte [ebp]
mov esi, ebp
sub esi, edi
mov dword [esp], eax
mov ebx, eax
call sub.msvcrt.dll_isspace
test eax, eax
jne 0x4119e0
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x412074
mov eax, dword [esp + 0x28]
add esi, ebp
test bl, bl
lea edx, [ebp + 1]
lea ecx, [eax + 1]
mov byte [eax], bl
jne 0x411a31
jmp 0x411a35
add edx, 1
movzx eax, byte [edx - 1]
add ecx, 1
test al, al
mov byte [ecx - 1], al
je 0x411a35
cmp esi, edx
jne 0x411a20
mov eax, dword [esp + 0x28]
mov byte [ecx], 0
movzx eax, byte [eax]
cmp al, 0x2d
je 0x411b80
mov edi, dword [esp + 0x28]
xor ecx, ecx
cmp al, 0x2b
mov word [esp + 0x32], cx
lea edx, [edi + 1]
mov ebp, edi
cmove ebp, edx
mov dword [esp + 8], 3
mov dword [esp + 4], ebp
mov dword [esp], 0x4ae100
call sub.msvcrt.dll__strnicmp
test eax, eax
jne 0x411b10
lea ebx, [ebp + 3]
mov dword [esp + 8], 5
mov dword [esp], str.INITY
mov dword [esp + 4], ebx
call sub.msvcrt.dll__strnicmp
lea edx, [ebp + 8]
test eax, eax
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
cmove ebx, edx
xor eax, eax
mov edx, 0x7fff
mov word [esp + 0x6a], ax
lea eax, [esp + 0x5a]
mov word [esp + 0x5c], dx
mov dword [esp + 0x24], eax
movzx eax, word [esp + 0x32]
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415150
sub ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x44]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 3
mov dword [esp + 4], ebp
mov dword [esp], 0x4ae10a
call sub.msvcrt.dll__strnicmp
test eax, eax
jne 0x411ba0
xor eax, eax
lea ebx, [ebp + 3]
mov esi, 0x7fff
mov word [esp + 0x62], ax
xor eax, eax
xor edi, edi
mov word [esp + 0x64], ax
xor eax, eax
mov ebp, 0xffffc000
mov word [esp + 0x66], ax
xor eax, eax
mov word [esp + 0x5c], si
mov word [esp + 0x68], ax
xor eax, eax
mov word [esp + 0x5e], di
mov word [esp + 0x6a], ax
lea eax, [esp + 0x5a]
mov word [esp + 0x60], bp
mov dword [esp + 0x24], eax
jmp 0x411ad0
mov eax, dword [esp + 0x28]
mov ebx, 0xffffffff
mov word [esp + 0x32], bx
lea ebp, [eax + 1]
jmp 0x411a5c
movzx eax, byte [ebp]
xor ebx, ebx
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], bx
cmp al, 0x30
jne 0x412203
add ebp, 1
movzx eax, byte [ebp]
cmp al, 0x30
je 0x411bd3
mov dword [esp + 0x4c], 1
lea edi, [esp + 0x5a]
movsx edx, al
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x24], edi
lea edi, [edx - 0x30]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], 0
cmp edi, 9
ja 0x411d5c
movzx eax, word [esp + 0x5e]
test ax, ax
jne 0x411d80
cmp dword [esp + 0x20], 1
lea ebx, [esp + 0x6a]
sbb dword [esp + 0x38], 0xffffffff
xor edx, edx
movzx ecx, word [ebx]
mov esi, edx
or esi, 1
test cx, cx
cmovs edx, esi
add ecx, ecx
test dl, 2
je 0x411c5b
or ecx, 1
mov word [ebx], cx
lea ecx, [esp + 0x5c]
sub ebx, 2
add edx, edx
cmp ebx, ecx
jne 0x411c43
mov edx, dword [esp + 0x5a]
xor ecx, ecx
lea ebx, [esp + 0x6e]
mov word [esp + 0x7c], cx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x5e]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x62]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x66]
mov dword [esp + 0x78], edx
xor edx, edx
jmp 0x411ca3
movzx eax, word [ecx]
mov esi, edx
or esi, 1
test ax, ax
cmovs edx, esi
add eax, eax
test dl, 2
je 0x411cb8
or eax, 1
mov word [ecx], ax
sub ecx, 2
add edx, edx
cmp ecx, ebx
jne 0x411ca0
lea esi, [esp + 0x6c]
lea ecx, [esp + 0x7c]
xor eax, eax
mov dword [esp + 0x40], esi
movzx edx, word [ecx]
mov esi, eax
or esi, 1
test dx, dx
cmovs eax, esi
add edx, edx
test al, 2
je 0x411ce9
or edx, 1
mov word [ecx], dx
sub ecx, 2
add eax, eax
cmp ecx, ebx
jne 0x411cd2
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.00414d60
mov eax, ebx
xor edx, edx
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov word [ebx + 0x10], dx
mov dword [esp + 4], esi
mov dword [esp], eax
mov word [esp + 0x7a], di
call fcn.00414d60
or dword [esp + 0x34], edi
add dword [esp + 0x3c], 1
add ebp, 1
movzx eax, byte [ebp]
movsx edx, al
lea edi, [edx - 0x30]
cmp edi, 9
jbe 0x411c25
cmp byte [esp + 0x2c], al
jne 0x411d90
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x411e70
mov dword [esp + 0x20], 1
jmp 0x411d46
or dword [esp + 0x48], edi
cmp dword [esp + 0x20], 1
sbb dword [esp + 0x38], 0
jmp 0x411d3d
and eax, 0xffffffdf
cmp al, 0x45
mov eax, dword [esp + 0x3c]
jne 0x411e74
or eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
je 0x411e7c
movsx ecx, byte [ebp + 1]
cmp cl, 0x2d
je 0x412241
lea edx, [ebp + 1]
mov ebx, 1
cmp cl, 0x2b
je 0x412235
lea eax, [ecx - 0x30]
xor esi, esi
cmp al, 9
ja 0x411e7e
mov ebp, edx
cmp esi, 0x1371
jg 0x411de9
lea eax, [esi + esi*4]
lea esi, [ecx + eax*2 - 0x30]
add ebp, 1
movsx ecx, byte [ebp]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x411dda
cmp ebx, 0xffffffff
je 0x4122e0
cmp esi, 0x1371
jle 0x411e7e
mov edi, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], si
test edi, edi
je 0x4123ac
movzx eax, word [esp + 0x32]
mov ebx, 0x7fff
mov word [esp + 0x5c], bx
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415150
jmp 0x412024
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
xor esi, esi
sub esi, dword [esp + 0x38]
test esi, esi
mov dword [esp + 0x2c], esi
jle 0x412252
cmp word [esp + 0x5e], 0
jne 0x411fbf
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x5a]
lea ebx, [esp + 0x6e]
mov ecx, dword [esp + 0x5e]
mov edx, dword [esp + 0x62]
lea edi, [esp + 0x6c]
mov eax, dword [esp + 0x66]
mov ebp, dword [esp + 0x2c]
lea esi, [esi]
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov word [esp + 0x7c], ax
xor edx, edx
mov dword [esp + 0x6c], esi
xor eax, eax
lea ecx, [esp + 0x7c]
jmp 0x411ee4
movzx edx, word [ecx]
mov esi, eax
or esi, 1
test dx, dx
cmovs eax, esi
add edx, edx
test al, 2
je 0x411ef8
or edx, 1
mov word [ecx], dx
sub ecx, 2
add eax, eax
cmp ecx, ebx
jne 0x411ee1
lea ecx, [esp + 0x7c]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx]
mov esi, eax
or esi, 1
test dx, dx
cmovs eax, esi
add edx, edx
test al, 2
je 0x411f27
or edx, 1
mov word [ecx], dx
sub ecx, 2
add eax, eax
cmp ecx, ebx
jne 0x411f10
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00414d60
lea ecx, [esp + 0x7c]
xor eax, eax
lea esi, [esi]
movzx edx, word [ecx]
mov esi, eax
or esi, 1
test dx, dx
cmovs eax, esi
add edx, edx
test al, 2
je 0x411f67
or edx, 1
mov word [ecx], dx
sub ecx, 2
add eax, eax
cmp ecx, ebx
jne 0x411f50
cmp word [esp + 0x70], 0
jne 0x411fb7
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
sub ebp, 1
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov word [esp + 0x6a], 0
mov dword [esp + 0x5a], esi
mov dword [esp + 0x5e], ecx
mov dword [esp + 0x62], edx
mov dword [esp + 0x66], eax
je 0x41207d
cmp word [esp + 0x5e], 0
je 0x411ec0
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004153d0
cmp eax, 0x50
jle 0x41210d
xor ebx, ebx
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], bx
movzx eax, word [esp + 0x32]
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415150
mov edx, dword [esp + 0x34]
test edx, edx
je 0x41204a
mov eax, dword [esp + 0xb4]
fld xword [eax]
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x412039
je 0x412065
fxam
wait
fnstsw ax
fstp st(0)
and ax, 0x4500
cmp ax, 0x500
je 0x412067
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x412342
mov eax, dword [esp + 0x20]
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(0)
call sub.msvcrt.dll__errno
mov dword [eax], 0x22
jmp 0x41204a
mov ecx, dword [esp + 0x28]
jmp 0x411a35
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004153d0
cmp eax, 0x50
jg 0x411fd4
mov edx, 0x404e
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x10], 0x40
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415580
movzx eax, word [esp + 0x5c]
mov dword [esp + 0x38], eax
xor eax, eax
mov edi, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], 0x40
mov dword [esp + 0x10], 0x40
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp], eax
call fcn.00415580
jmp 0x411ffb
mov edx, 0x404e
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x10], 0x40
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415580
movzx eax, word [esp + 0x5c]
mov dword [esp + 0x40], 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x7e]
mov dword [esp + 0x3c], eax
mov eax, dword [0x4ae1bc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x48], ebp
mov ebx, 0x4ae1b0
mov esi, 1
mov ebp, edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [0x4ae1c0]
mov dword [esp + 0x70], eax
mov eax, dword [0x4ae1c4]
mov dword [esp + 0x74], eax
jmp 0x41219f
add esi, esi
sub ebx, 0xc
cmp esi, 0x1000
jg 0x4121b5
test edi, esi
je 0x412192
mov dword [esp + 8], ebp
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00415970
jmp 0x412192
mov eax, dword [esp + 0x3c]
mov edi, ebp
mov ebp, dword [esp + 0x48]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00414c80
cmp dword [esp + 0x40], 0xffffffff
movzx eax, word [esp + 0x80]
mov ebx, dword [esp + 0x38]
je 0x412210
add ebx, eax
mov eax, dword [esp + 0x24]
lea edi, [ebx - 0x3ffe]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00415030
mov dword [esp + 0x38], edi
jmp 0x4120d8
mov dword [esp + 0x4c], 0
jmp 0x411be6
sub ebx, eax
mov eax, dword [esp + 0x24]
lea edi, [ebx + 0x3fff]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00414de0
mov dword [esp + 0x38], edi
jmp 0x4120d8
movsx ecx, byte [edx + 1]
add edx, 1
jmp 0x411dcb
lea edx, [ebp + 2]
movsx ecx, byte [ebp + 2]
mov ebx, 0xffffffff
jmp 0x411dc2
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004153d0
cmp eax, 0x50
jg 0x411fd4
mov edx, 0x404e
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x10], 0x40
sub edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415580
movzx eax, word [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov dword [esp + 0x38], eax
jne 0x4122b6
xor eax, eax
jmp 0x4120d8
mov eax, dword [esp + 0x2c]
neg eax
cmp eax, 0x1000
jg 0x412350
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x7e]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x41215d
neg esi
cmp esi, 0xffffec8f
jge 0x411e7e
movzx eax, word [esp + 0x32]
mov dword [esp + 0x5a], 0
xor edx, edx
mov dword [esp + 0x5e], 0
mov dword [esp + 0x62], 0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], dx
mov word [esp + 0x5a], ax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00415150
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x412024
mov ebx, ebp
jmp 0x411af1
lea eax, [esp + 0x7e]
mov dword [esp], 0x4ae120
mov dword [esp + 4], eax
mov edi, eax
mov dword [esp + 0x3c], eax
call fcn.00414c80
movzx eax, word [esp + 0x80]
mov ebx, dword [esp + 0x38]
mov dword [esp], edi
sub ebx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.00414de0
lea eax, [ebx + 0x3fff]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x38], eax
mov eax, 0xfffff000
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x41215d
mov ebx, ebp
jmp 0x411ad0