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

Disassembly:
push 0xffffffffffffffff
push 0x59ed56
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5f4964]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov esi, ecx
mov al, byte [esi + 0x60]
xor ebx, ebx
cmp al, bl
je 0x53b34e
lea edi, [ebx + 1]
or ebp, 0xffffffff
cmp al, 0xa
je 0x53b2e8
cmp al, 0x5c
mov al, byte [esi + 0x60]
je 0x53b001
cmp al, byte [esp + 0xcc]
je 0x53b3bc
cmp al, 0xa
jne 0x53b303
add dword [esi + 0x74], edi
mov dword [esi + 0x78], ebx
jmp 0x53b326
cmp al, 0xa
jne 0x53b00d
add dword [esi + 0x74], edi
mov dword [esi + 0x78], ebx
jmp 0x53b030
cmp al, 9
jne 0x53b02d
mov eax, dword [esi + 0x78]
mov ecx, eax
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x53b023
dec ecx
or ecx, 0xfffffff8
inc ecx
sub eax, ecx
add eax, 8
mov dword [esi + 0x78], eax
jmp 0x53b030
add dword [esi + 0x78], edi
add dword [esi + 0x6c], edi
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x68]
jge 0x53b046
mov edx, dword [esi + 0x64]
mov al, byte [eax + edx]
mov byte [esi + 0x60], al
jmp 0x53b04d
mov ecx, esi
call fcn.0053a2e0
mov al, byte [esi + 0x60]
cmp al, 0x61
je 0x53b07c
cmp al, 0x62
je 0x53b07c
cmp al, 0x66
je 0x53b07c
cmp al, 0x6e
je 0x53b07c
cmp al, 0x72
je 0x53b07c
cmp al, 0x74
je 0x53b07c
cmp al, 0x76
je 0x53b07c
cmp al, 0x5c
je 0x53b07c
cmp al, 0x3f
je 0x53b07c
cmp al, 0x27
je 0x53b07c
cmp al, 0x22
jne 0x53b088
mov ecx, esi
call fcn.0053a800
jmp 0x53b343
mov cl, al
sub cl, 0x30
cmp cl, 7
ja 0x53b09e
mov ecx, esi
call fcn.0053a800
jmp 0x53b343
cmp al, 0x78
jne 0x53b126
mov ecx, esi
call fcn.0053a800
mov al, byte [esi + 0x60]
cmp al, 0x30
jl 0x53b0b8
cmp al, 0x39
jle 0x53b0c6
cmp al, 0x61
jl 0x53b0c0
cmp al, 0x66
jle 0x53b0c6
sub al, 0x41
cmp al, 5
ja 0x53b0d2
mov ecx, esi
call fcn.0053a800
jmp 0x53b343
push str.Expected_hex_digits_for_escape_sequence.
lea ecx, [esp + 0x50]
call fcn.00403470
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
mov dword [esp + 0xd0], 2
call edx
cmp dword [esp + 0x64], 0x10
mov dword [esp + 0xc4], ebp
jb 0x53b343
mov eax, dword [esp + 0x50]
push eax
call fcn.0056a760
add esp, 4
jmp 0x53b343
cmp al, 0x75
jne 0x53b1d1
mov ecx, esi
call fcn.0053a800
mov al, byte [esi + 0x60]
cmp al, 0x30
jl 0x53b140
cmp al, 0x39
jle 0x53b14e
cmp al, 0x61
jl 0x53b148
cmp al, 0x66
jle 0x53b14e
sub al, 0x41
cmp al, 5
ja 0x53b17a
mov ecx, esi
call fcn.0053a800
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b17a
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b17a
mov ecx, esi
call fcn.0053aa40
test al, al
jne 0x53b343
push str.Expected_four_hex_digits_for_u_escape_sequence.
lea ecx, [esp + 0x6c]
call fcn.00403470
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
mov dword [esp + 0xd0], 3
call edx
cmp dword [esp + 0x80], 0x10
mov dword [esp + 0xc4], ebp
jb 0x53b343
mov eax, dword [esp + 0x6c]
push eax
call fcn.0056a760
add esp, 4
jmp 0x53b343
cmp al, 0x55
jne 0x53b29d
mov ecx, esi
call fcn.0053a800
cmp byte [esi + 0x60], 0x30
jne 0x53b24f
mov ecx, esi
call fcn.0053a800
push 0x30
mov ecx, esi
call fcn.0053a860
test al, al
je 0x53b24f
push 0x30
mov ecx, esi
call fcn.0053a860
test al, al
jne 0x53b214
push 0x31
mov ecx, esi
call fcn.0053a860
test al, al
je 0x53b24f
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b24f
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b24f
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b24f
mov ecx, esi
call fcn.0053aa40
test al, al
je 0x53b24f
mov ecx, esi
call fcn.0053aa40
test al, al
jne 0x53b343
push str.Expected_eight_hex_digits_up_to_10ffff_for_U_escape_sequence
lea ecx, [esp + 0x88]
call fcn.00403470
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x84]
push eax
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
mov dword [esp + 0xd0], 4
call edx
lea ecx, [esp + 0x84]
mov dword [esp + 0xc4], ebp
call fcn.00403540
jmp 0x53b343
push str.Invalid_escape_sequence_in_string_literal.
lea ecx, [esp + 0xa4]
call fcn.00403470
mov ecx, dword [esi + 0x5c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esi + 0x78]
push edx
mov edx, dword [esi + 0x74]
push edx
mov dword [esp + 0xd0], 5
call eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0xc4], ebp
call fcn.00403540
jmp 0x53b343
cmp byte [esi + 0x8d], bl
je 0x53b3c5
mov al, byte [esi + 0x60]
cmp al, 0xa
jne 0x53b303
add dword [esi + 0x74], edi
mov dword [esi + 0x78], ebx
jmp 0x53b326
cmp al, 9
jne 0x53b323
mov eax, dword [esi + 0x78]
mov ecx, eax
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x53b319
dec ecx
or ecx, 0xfffffff8
inc ecx
sub eax, ecx
add eax, 8
mov dword [esi + 0x78], eax
jmp 0x53b326
add dword [esi + 0x78], edi
add dword [esi + 0x6c], edi
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x68]
jge 0x53b33c
mov edx, dword [esi + 0x64]
mov al, byte [eax + edx]
mov byte [esi + 0x60], al
jmp 0x53b343
mov ecx, esi
call fcn.0053a2e0
mov al, byte [esi + 0x60]
cmp al, bl
jne 0x53afd2
push 0x19
push str.Unexpected_end_of_string.
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.00404d10
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
mov dword [esp + 0xd0], ebx
call edx
cmp dword [esp + 0x48], 0x10
jb 0x53b3a0
mov eax, dword [esp + 0x34]
push eax
call fcn.0056a760
add esp, 4
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret 4
mov ecx, esi
call fcn.0053a800
jmp 0x53b3a0
push 0x2d
push str.String_literals_cannot_cross_line_boundaries.
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00404d10
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
push eax
mov dword [esp + 0xd0], edi
call edx
cmp dword [esp + 0x2c], 0x10
jb 0x53b3a0
mov eax, dword [esp + 0x18]
jmp 0x53b397