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

Disassembly:
push 0xffffffffffffffff
push 0x1f056488
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
mov eax, dword [esp + 0x60]
push ebx
push ebp
xor ebx, ebx
push esi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x68]
push edi
push eax
call fcn.1f03e395
add esp, 4
push 1
mov esi, eax
push 0x18
lea ecx, [esp + 0x44]
mov dword [esp + 0x24], esi
call fcn.1f02ea20
mov dword [esp + 0x64], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov edi, esi
cmp esi, ebx
je 0x1f02ad35
lea ebp, [ebx + 0x13]
push str._______:
push esi
call fcn.1f040624
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1f02ad0c
movzx ecx, word [ebx]
lea eax, [ebx + 2]
mov esi, eax
cmp cx, 0x28
jne 0x1f02abb0
inc dword [esp + 0x14]
jmp 0x1f02ab84
cmp cx, 0x29
jne 0x1f02abbc
dec dword [esp + 0x14]
jmp 0x1f02ab84
cmp dword [esp + 0x14], 0
ja 0x1f02ab84
mov dword [esp + 0x28], edi
movzx ecx, word [ebx]
add ecx, 0xffffffda
cmp ecx, 0x56
ja case.0x1f02abdd.39
movzx ecx, byte [ecx + 0x1f02b4ec]
jmp dword [ecx*4 + 0x1f02b4b8]
mov dword [esp + 0x24], 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 3
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 4
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 5
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0xc
jmp case.0x1f02abdd.39
cmp word [eax], 0x26
jne 0x1f02ac3b
mov dword [esp + 0x24], 7
add esi, 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0xa
jmp case.0x1f02abdd.39
cmp word [eax], 0x7c
jne 0x1f02ac5e
mov dword [esp + 0x24], 6
add esi, 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 9
jmp case.0x1f02abdd.39
cmp word [eax], 0x3c
jne 0x1f02ac7c
mov dword [esp + 0x24], 0xd
add esi, 2
cmp word [eax], 0x3d
jne 0x1f02ac8f
mov dword [esp + 0x24], 0xe
add esi, 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0xf
jmp case.0x1f02abdd.39
cmp word [eax], 0x3e
jne 0x1f02acaa
mov dword [esp + 0x24], 0x10
add esi, 2
cmp word [eax], 0x3d
jne 0x1f02acbd
mov dword [esp + 0x24], 0x11
add esi, 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0x12
jmp case.0x1f02abdd.39
cmp word [eax], 0x3d
jne 0x1f02acd6
mov dword [esp + 0x24], ebp
add esi, 2
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0x14
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0x15
jmp case.0x1f02abdd.39
mov dword [esp + 0x24], 0x16
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x4c]
call fcn.1f02eb10
xor eax, eax
mov word [ebx], ax
mov edi, esi
jmp 0x1f02ab84
cmp dword [esp + 0x14], 0
jne 0x1f02adfe
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
call fcn.1f02eb10
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x48]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1f02ae64
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
mov ecx, dword [esp + ecx + 0x48]
add eax, 4
test ecx, ecx
je 0x1f02ad6f
mov ecx, dword [ecx]
mov esi, dword [ecx + 8]
mov edx, dword [esp + 0x70]
mov dword [edx], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 4], ecx
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x14], edx
lea ecx, [ecx]
test esi, esi
je 0x1f02b47c
mov ecx, 5
sub ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [eax]
lea ecx, [esp + ecx + 0x3c]
call fcn.1f03d970
cmp eax, 1
je 0x1f02b458
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + ecx + 0x48]
add eax, 4
mov dword [esp + 0x18], edx
cmp edx, dword [esp + ecx + 0x4c]
je 0x1f02b446
test esi, esi
je 0x1f02b446
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [edx]
mov esi, dword [ebx]
push edi
call fcn.1f02aac0
add esp, 4
cmp eax, dword [esp + 0x20]
jne 0x1f02b42a
lea eax, [edi - 2]
cmp eax, 0x14
ja case.0x1f02adf7.8
jmp dword [eax*4 + 0x1f02b544]
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1f02ae18
mov edx, dword [esp + 0x80]
push edx
push 0x1f05f06c
call eax
add esp, 8
mov eax, dword [esp + 0x1c]
push eax
call fcn.1f03e275
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f000
lea ecx, [esp + 0x48]
call fcn.1f03d960
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x10], 0
je 0x1f02b145
mov esi, dword [esp + 0x18]
mov edi, dword [esi]
mov eax, dword [edi + 4]
push eax
call fcn.1f036640
mov dword [edi + 4], eax
movzx ecx, word [eax]
add esp, 4
cmp ecx, 0x21
je 0x1f02ae9f
cmp ecx, 0x7e
je 0x1f02ae98
mov ebp, 1
jmp 0x1f02aeb6
mov ebp, 0xb
jmp 0x1f02aea4
mov ebp, 8
add eax, 2
push eax
mov dword [edi + 4], eax
call fcn.1f036640
mov dword [edi + 4], eax
add esp, 4
mov eax, dword [edi + 4]
push 0x1f059f48
push eax
call fcn.1f040624
add esp, 8
test eax, eax
je 0x1f02af80
mov eax, dword [edi + 4]
push 0x1f059f48
push eax
call fcn.1f040624
add esp, 8
test eax, eax
je 0x1f02af12
movzx ecx, word [eax]
cmp cx, 0x28
jne 0x1f02aefd
test ebx, ebx
jne 0x1f02aef7
lea ecx, [eax + 2]
mov dword [edi + 4], ecx
inc ebx
add eax, 2
jmp 0x1f02aed2
cmp cx, 0x29
jne 0x1f02af08
sub ebx, 1
je 0x1f02af0d
add eax, 2
jmp 0x1f02aed2
xor edx, edx
mov word [eax], dx
mov ecx, dword [edi + 4]
mov dword [esp + 0x14], ebx
lea esp, [esp]
movzx edx, word [ecx]
movzx eax, dx
cmp ax, 0x20
je 0x1f02af3e
cmp ax, 9
je 0x1f02af3e
cmp ax, 0xd
je 0x1f02af3e
cmp ax, 0xa
jne 0x1f02af48
test dx, dx
je 0x1f02af48
add ecx, 2
jmp 0x1f02af20
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x7c]
push eax
push edx
lea esi, [edi + 8]
push esi
push ecx
mov dword [edi + 4], ecx
call fcn.1f02ab20
add esp, 0x18
test eax, eax
jne 0x1f02b0f7
mov dword [esp + 0x10], eax
jmp 0x1f02b128
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
movzx eax, dx
cmp ax, 0x20
je 0x1f02afa1
cmp ax, 9
je 0x1f02afa1
cmp ax, 0xd
je 0x1f02afa1
cmp ax, 0xa
jne 0x1f02afab
test dx, dx
je 0x1f02afab
add ecx, 2
jmp 0x1f02af83
mov dword [edi + 4], ecx
cmp word [ecx], 0
jne 0x1f02afd4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
cmp esi, dword [esp + ecx + 0x48]
jne 0x1f02b01f
mov eax, dword [edi]
add eax, 0xfffffffe
cmp eax, 1
ja 0x1f02b01f
mov dword [edi + 4], 0x1f05f068
jmp 0x1f02b01f
movzx edx, word [ecx]
movzx eax, dx
mov esi, 0x61
cmp si, ax
ja 0x1f02afea
cmp ax, 0x7a
jbe 0x1f02b010
mov esi, 0x41
cmp si, ax
ja 0x1f02affa
cmp ax, 0x5a
jbe 0x1f02b010
mov esi, 0x30
cmp si, ax
ja 0x1f02b00a
cmp ax, 0x39
jbe 0x1f02b010
cmp ax, 0x5f
jne 0x1f02b01a
test dx, dx
je 0x1f02b01a
add ecx, 2
jmp 0x1f02afd4
xor edx, edx
mov word [ecx], dx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [edi + 4]
push eax
push ecx
lea esi, [edi + 8]
push esi
push edx
call fcn.1f02aae0
add esp, 0x10
test eax, eax
jne 0x1f02b0f7
mov dword [esp + 0x10], eax
cmp dword [esp + 0x7c], eax
je 0x1f02b128
mov eax, dword [edi + 4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1f02b055
sub eax, edx
sar eax, 1
xor ecx, ecx
add eax, 0x18
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1f03e832
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1f02b128
mov eax, str.Cant_solve_expression
mov edx, ebx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x1f02b093
mov eax, dword [edi + 4]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1f02b0a7
mov edi, ebx
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x1f02b0c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x80]
push eax
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [esp + 0x84]
push ebx
call fcn.1f03e80c
add esp, 0xc
jmp 0x1f02b128
cmp ebp, 8
je 0x1f02b111
cmp ebp, 0xb
jne 0x1f02b128
mov ecx, dword [esi]
mov edx, dword [esi + 4]
not ecx
not edx
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp 0x1f02b128
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x1f02b11f
mov eax, 1
jmp 0x1f02b121
xor eax, eax
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1f02ae60
cmp dword [esp + 0x10], eax
jne 0x1f02ad4c
mov edx, dword [esp + 0x1c]
push edx
call fcn.1f03e275
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f000
lea ecx, [esp + 0x48]
call fcn.1f03d960
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret
mov eax, dword [edx + 8]
add dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
adc dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
sub eax, dword [esi + 8]
mov ecx, dword [edx + 0xc]
sbb ecx, dword [esi + 0xc]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
push eax
mov eax, dword [edx + 0xc]
push ecx
mov ecx, dword [edx + 8]
push eax
push ecx
call fcn.1f040910
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02adf7.8
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edi, eax
or edi, ecx
jne 0x1f02b1f5
mov dword [esp + 0x10], edi
test ebp, ebp
je case.0x1f02adf7.8
mov edx, dword [esp + 0x80]
push edx
push str.Error_division_by_0
call ebp
jmp 0x1f02b419
push ecx
mov ecx, dword [edx + 8]
push eax
mov eax, dword [edx + 0xc]
push eax
push ecx
call fcn.1f040b70
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
jne 0x1f02b22a
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0xc]
jne 0x1f02b22a
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
je 0x1f02b25e
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0xc]
je 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
xor eax, eax
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
or dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
or dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
and dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
and dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
xor dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
xor dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [esi + 8]
call fcn.1f040b50
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
ja 0x1f02b25e
jb 0x1f02b2cb
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
ja 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
ja 0x1f02b25e
jb 0x1f02b2f7
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jae 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [esi + 8]
call fcn.1f040950
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jb 0x1f02b25e
ja 0x1f02b33c
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jb 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jb 0x1f02b25e
ja 0x1f02b368
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jbe 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
mov eax, dword [edx + 8]
cmp eax, dword [esi + 8]
jne 0x1f02b25e
mov ecx, dword [edx + 0xc]
cmp ecx, dword [esi + 0xc]
jne 0x1f02b25e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02adf7.8
test ebp, ebp
je case.0x1f02adf7.8
mov edx, dword [esp + 0x80]
push edx
push str.Syntax_error_:_single__found
jmp 0x1f02b40f
cmp dword [esi], 0x16
mov edi, dword [ebx + 4]
mov eax, dword [edi]
je 0x1f02b3d4
test ebp, ebp
je case.0x1f02adf7.8
mov eax, dword [esp + 0x80]
push eax
push str.Syntax_error_:___found_without_matching_:
jmp 0x1f02b40f
mov ecx, dword [edx + 8]
or ecx, dword [edx + 0xc]
je 0x1f02b3e4
mov ecx, dword [esi + 8]
mov esi, dword [esi + 0xc]
jmp 0x1f02b3ea
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [eax + 8], ecx
push ebx
lea ecx, [esp + 0x4c]
mov dword [eax + 0xc], esi
call fcn.1f02ec80
mov ebx, edi
jmp case.0x1f02adf7.8
test ebp, ebp
je case.0x1f02adf7.8
mov edx, dword [esp + 0x80]
push edx
push str.Syntax_error_:_:_found_without_matching__
call ebp
mov dword [esp + 0x18], 0
add esp, 8
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x4c]
call fcn.1f02ec80
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + ecx + 0x4c]
jne 0x1f02adc3
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, 5
jb 0x1f02ad80
test esi, esi
je 0x1f02b47c
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0x4c]
test eax, eax
je 0x1f02b47c
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x70]
mov dword [ecx], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.1f03e275
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f000
lea ecx, [esp + 0x48]
call fcn.1f03d960
mov ecx, dword [esp + 0x5c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret