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

Disassembly:
mov eax, 0x1094
call fcn.004155d0
mov eax, dword [esp + 0x10a4]
push ebp
mov ebp, dword [esp + 0x109c]
push esi
xor esi, esi
mov dword [esp + 0x18], 1
mov dword [esp + 8], 0
mov dword [esp + 0x10], ebp
test eax, eax
jne 0x41e7f0
mov eax, dword [esp + 0x10a8]
test eax, eax
je 0x41e7e5
mov dword [eax], 0x63
pop esi
xor eax, eax
pop ebp
add esp, 0x1094
ret
mov dword [eax], esi
mov eax, dword [esp + 0x10a8]
test eax, eax
je 0x41e7ff
mov dword [eax], esi
mov eax, dword [esp + 0x10b0]
push ebx
push edi
test eax, eax
jne 0x41e81d
mov esi, 0x10
mov ecx, str.no_error
mov edx, esi
jmp 0x41f0a6
mov ebx, dword [esp + 0x10bc]
mov dword [eax], esi
test ebx, ebx
jne 0x41e836
mov ebx, 0x49b530
mov dword [esp + 0x10bc], ebx
mov edi, dword [esp + 0x10ac]
lea eax, [ebx + 0x100]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x200]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x340]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], eax
test edi, 0xd8038580
je 0x41e871
mov esi, 0x11
jmp 0x41f08c
cmp byte [ebp], 0x28
jne 0x41ea03
jmp 0x41e880
cmp byte [esi + ebp + 1], 0x2a
jne 0x41e9fc
push 5
lea ebx, [ebp + 2]
add ebx, esi
push str.UTF8_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e8b2
add esi, 7
or edi, 0x800
jmp 0x41e9f2
push 4
push str.UCP_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e8d4
add esi, 6
or edi, 0x20000000
jmp 0x41e9f2
push 0xd
push str.NO_START_OPT_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e8f6
add esi, 0xf
or edi, 0x4000000
jmp 0x41e9f2
push 3
push 0x48c008
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e91d
add esi, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x41e9f0
push 3
push 0x48c00c
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e944
add esi, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x41e9f0
push 5
push str.CRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e96b
add esi, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x41e9f0
push 4
push str.ANY_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e98f
add esi, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x41e9f0
push 8
push str.ANYCRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e9b3
add esi, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x41e9f0
push 0xc
push str.BSR_ANYCRLF_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e9ce
mov eax, 0x800000
jmp 0x41e9e7
push 0xc
push str.BSR_UNICODE_
push ebx
call sub.MSVCRT.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x41e9fc
mov eax, 0x1000000
add esi, 0xe
and edi, 0xfe7fffff
or edi, eax
cmp byte [esi + ebp], 0x28
je 0x41e880
mov ebx, dword [esp + 0x10bc]
mov eax, edi
shr eax, 0xb
and eax, 1
mov dword [esp + 0x28], eax
je 0x41ea44
test edi, 0x2000
jne 0x41ea44
push dword [esp + 0x10b8]
push 0xffffffffffffffff
push ebp
call fcn.00430690
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x41ea44
mov esi, 0x2c
mov ecx, str.no_error
mov edx, esi
jmp 0x41f0a6
mov eax, edi
and eax, 0x1800000
cmp eax, 0x1800000
je 0x41f087
mov eax, edi
and eax, 0x700000
cmp eax, 0x300000
jg 0x41eac9
je 0x41eaa7
test eax, eax
je 0x41ea7c
cmp eax, 0x100000
je 0x41eaa0
cmp eax, 0x200000
jne 0x41f087
mov eax, 0xa
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 1
mov byte [esp + 0xa0], al
jmp 0x41eaf3
mov eax, 0xd
jmp 0x41ea81
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 2
mov word [esp + 0xa0], 0xa0d
jmp 0x41eaf3
cmp eax, 0x400000
je 0x41eae8
cmp eax, 0x500000
jne 0x41f087
mov dword [esp + 0x98], 2
jmp 0x41eaf3
mov dword [esp + 0x98], 1
mov ecx, ebp
mov dword [esp + 0x78], 0
lea eax, [esp + 0xa4]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x64], 0
lea edx, [ecx + 1]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x6c], 0x1000
mov dword [esp + 0x50], ebp
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eb50
sub ecx, edx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], 0
lea eax, [ecx + ebp]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], eax
lea eax, [esi + ebp]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
mov byte [esp + 0xa8], 0x7d
push eax
push 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
push edi
call fcn.0041ce10
mov esi, dword [esp + 0x44]
add esp, 0x34
test esi, esi
jne 0x41f08c
mov esi, dword [esp + 0x20]
cmp esi, 0x10000
jle 0x41ec06
mov esi, 0x14
jmp 0x41f08c
mov eax, dword [esp + 0x68]
lea edi, [esi + 0x28]
imul eax, dword [esp + 0x64]
add edi, eax
push edi
call dword [0x580df4]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x41ec33
mov ebp, dword [esp + 0x10a8]
lea esi, [eax + 0x15]
jmp 0x41f08c
mov dword [ebp], 0x50435245
mov dword [ebp + 4], edi
mov eax, dword [esp + 0x84]
mov dword [ebp + 8], eax
movzx eax, word [esp + 0x88]
mov word [ebp + 0xc], ax
xor eax, eax
mov word [ebp + 0xe], ax
mov dword [ebp + 0x14], eax
mov eax, 0x28
mov word [ebp + 0x18], ax
movzx eax, word [esp + 0x68]
mov word [ebp + 0x1a], ax
movzx eax, word [esp + 0x64]
mov word [ebp + 0x1c], ax
xor eax, eax
mov word [ebp + 0x1e], ax
mov eax, ebx
sub eax, 0x49b530
mov dword [ebp + 0x24], 0
neg eax
push 0
sbb eax, eax
and eax, ebx
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
movzx ecx, word [ebp + 0x18]
add ecx, ebp
mov dword [esp + 0x64], ecx
movzx eax, word [ebp + 0x1a]
movzx ebx, word [ebp + 0x1c]
imul ebx, eax
mov eax, dword [esp + 0x4c]
add ebx, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3c]
push eax
push 0
lea eax, [esp + 0x28]
mov dword [esp + 0x58], ebx
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x9c], 0
push eax
push 0
push 0
push 0
push 0
lea eax, [esp + 0x34]
mov dword [esp + 0xb4], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0xbc], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x84], 0
push eax
mov byte [ebx], 0x7d
push dword [ebp + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x48], ebx
call fcn.0041ce10
movzx eax, word [esp + 0xa4]
add esp, 0x34
mov word [ebp + 0x10], ax
movzx eax, word [esp + 0x78]
mov word [ebp + 0x12], ax
mov eax, dword [esp + 0x88]
or eax, 1
mov word [ebp + 0xc], ax
cmp dword [esp + 0x90], 0
je 0x41ed80
or eax, 0xffffffff
jmp 0x41ed84
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x10], 0
mov dword [esp + 0x24], eax
jne 0x41eda0
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
je 0x41eda0
mov dword [esp + 0x10], 0x16
mov eax, dword [esp + 0x14]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, esi
jle 0x41edb9
mov eax, 0x17
mov dword [esp + 0x10], eax
jmp 0x41edbd
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
cmp edx, edi
jbe 0x41ee88
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0
test eax, eax
jne 0x41ee88
lea esp, [esp]
cmp edx, edi
jbe 0x41ee88
sub edx, 2
mov dword [esp + 0x5c], edx
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea eax, [ebx + 1]
movzx esi, byte [ecx + ebx]
lea edx, [ecx + ebx]
add eax, ecx
shl esi, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edx
movzx eax, byte [eax]
or esi, eax
cmp esi, dword [esp + 0x1c]
je 0x41ee49
push esi
push dword [esp + 0x2c]
push ebx
call fcn.00417390
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
jmp 0x41ee4d
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41ee7b
mov ecx, eax
sub al, bl
sub ecx, ebx
sar ecx, 8
mov byte [edx], cl
mov ecx, dword [esp + 0x2c]
mov byte [ecx], al
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x41ee88
mov edx, dword [esp + 0x5c]
jmp 0x41edf0
mov eax, 0x35
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x6c], 0x1000
jle 0x41eea4
push edi
call dword [0x580df8]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x41eebf
mov ax, word [ebp + 0x12]
cmp ax, word [ebp + 0x10]
jbe 0x41eebf
mov eax, 0xf
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x94], 0
je 0x41ef8a
push 0xffffffffffffffff
push dword [esp + 0x2c]
push ebx
call fcn.00417390
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41ef8a
jmp 0x41eef0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
jne 0x41ef42
movzx esi, byte [edi - 2]
movzx eax, byte [edi - 1]
shl esi, 8
or esi, eax
lea eax, [esp + 0x38]
push eax
push 1
movzx ebx, byte [esi + edi - 3]
mov byte [esi + edi - 3], cl
mov eax, dword [ebp + 8]
shr eax, 0xb
and eax, 1
push eax
push edi
call fcn.0041d8c0
add esp, 0x10
mov byte [esi + edi - 3], bl
test eax, eax
js 0x41ef64
mov ecx, eax
mov byte [edi + 2], al
sar ecx, 8
mov byte [edi + 1], cl
push 0xffffffffffffffff
push dword [esp + 0x2c]
lea eax, [edi + 3]
push eax
call fcn.00417390
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x41eef0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
jmp 0x41ef8e
cmp eax, 0xfffffffe
jne 0x41ef73
mov dword [esp + 0x10], 0x24
jmp 0x41ef92
mov ebx, dword [esp + 0x34]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
and eax, 0xffffffd3
add eax, 0x46
mov dword [esp + 0x10], eax
jmp 0x41ef8e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41efac
push ebp
call dword [0x580df8]
mov esi, dword [esp + 0x14]
add esp, 4
mov ebp, dword [esp + 0x10a8]
jmp 0x41f08c
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
test al, 0x10
jne 0x41f035
mov esi, dword [esp + 0x7c]
push esi
push 0
push ebx
call fcn.0041e4b0
add esp, 0xc
test eax, eax
je 0x41efd7
mov eax, dword [esp + 0x2c]
or eax, 0x10
mov dword [ebp + 8], eax
jmp 0x41f035
mov eax, dword [esp + 0x30]
test eax, eax
jns 0x41f009
push 0
push ebx
call fcn.0041d760
add esp, 8
test eax, eax
jns 0x41f009
push esi
push 0
push ebx
call fcn.0041e620
add esp, 0xc
test eax, eax
je 0x41f035
mov eax, 0x100
or word [ebp + 0xc], ax
jmp 0x41f035
mov edx, eax
and edx, 0xff
mov word [ebp + 0x14], dx
test eax, 0x10000000
je 0x41f030
mov eax, dword [esp + 0x3c]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x41f030
or word [ebp + 0xc], 0x20
or word [ebp + 0xc], 0x10
mov eax, dword [esp + 0x24]
test eax, eax
js 0x41f07a
test byte [ebp + 8], 0x10
je 0x41f04a
test eax, 0x20000000
je 0x41f07a
mov edx, eax
and edx, 0xff
mov word [ebp + 0x16], dx
test eax, 0x10000000
je 0x41f075
mov eax, dword [esp + 0x3c]
mov ecx, edx
movzx eax, byte [ecx + eax]
cmp ax, dx
je 0x41f075
mov eax, pe_nt_image_headers32
or word [ebp + 0xc], ax
or word [ebp + 0xc], 0x40
pop edi
pop ebx
pop esi
mov eax, ebp
pop ebp
add esp, 0x1094
ret
mov esi, 0x38
mov ecx, dword [esp + 0x10b8]
mov edx, esi
mov eax, dword [esp + 0x18]
sub eax, ebp
mov dword [ecx], eax
mov ecx, str.no_error
test esi, esi
jle 0x41f0bd
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f0a6
cmp byte [ecx], al
je 0x41f0b8
dec edx
test edx, edx
jg 0x41f0a6
jmp 0x41f0bd
mov ecx, str.Error_text_not_found__please_report_
mov eax, dword [esp + 0x10b4]
mov dword [eax], ecx
mov eax, dword [esp + 0x10b0]
test eax, eax
je 0x41f0d3
mov dword [eax], esi
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x1094
ret