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

Disassembly:
push 0xffffffffffffffff
push 0x1f0565f8
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.1f03e505
add esp, 4
push 1
mov esi, eax
push 0x18
lea ecx, [esp + 0x44]
mov dword [esp + 0x24], esi
call fcn.1f02eb30
mov dword [esp + 0x64], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 1
mov edi, esi
cmp esi, ebx
je 0x1f02ae55
lea ebp, [ebx + 0x13]
push str._______:
push esi
call fcn.1f040794
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1f02ae2c
movzx ecx, word [ebx]
lea eax, [ebx + 2]
mov esi, eax
cmp cx, 0x28
jne 0x1f02acd0
inc dword [esp + 0x14]
jmp 0x1f02aca4
cmp cx, 0x29
jne 0x1f02acdc
dec dword [esp + 0x14]
jmp 0x1f02aca4
cmp dword [esp + 0x14], 0
ja 0x1f02aca4
mov dword [esp + 0x28], edi
movzx ecx, word [ebx]
add ecx, 0xffffffda
cmp ecx, 0x56
ja case.0x1f02acfd.39
movzx ecx, byte [ecx + 0x1f02b60c]
jmp dword [ecx*4 + 0x1f02b5d8]
mov dword [esp + 0x24], 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 3
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 4
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 5
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0xc
jmp case.0x1f02acfd.39
cmp word [eax], 0x26
jne 0x1f02ad5b
mov dword [esp + 0x24], 7
add esi, 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0xa
jmp case.0x1f02acfd.39
cmp word [eax], 0x7c
jne 0x1f02ad7e
mov dword [esp + 0x24], 6
add esi, 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 9
jmp case.0x1f02acfd.39
cmp word [eax], 0x3c
jne 0x1f02ad9c
mov dword [esp + 0x24], 0xd
add esi, 2
cmp word [eax], 0x3d
jne 0x1f02adaf
mov dword [esp + 0x24], 0xe
add esi, 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0xf
jmp case.0x1f02acfd.39
cmp word [eax], 0x3e
jne 0x1f02adca
mov dword [esp + 0x24], 0x10
add esi, 2
cmp word [eax], 0x3d
jne 0x1f02addd
mov dword [esp + 0x24], 0x11
add esi, 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0x12
jmp case.0x1f02acfd.39
cmp word [eax], 0x3d
jne 0x1f02adf6
mov dword [esp + 0x24], ebp
add esi, 2
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0x14
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0x15
jmp case.0x1f02acfd.39
mov dword [esp + 0x24], 0x16
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x4c]
call fcn.1f02ec20
xor eax, eax
mov word [ebx], ax
mov edi, esi
jmp 0x1f02aca4
cmp dword [esp + 0x14], 0
jne 0x1f02af1e
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
call fcn.1f02ec20
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 0x1f02af84
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
mov ecx, dword [esp + ecx + 0x48]
add eax, 4
test ecx, ecx
je 0x1f02ae8f
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 0x1f02b59c
mov ecx, 5
sub ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [eax]
lea ecx, [esp + ecx + 0x3c]
call fcn.1f03dac0
cmp eax, 1
je 0x1f02b578
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 0x1f02b566
test esi, esi
je 0x1f02b566
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.1f02abe0
add esp, 4
cmp eax, dword [esp + 0x20]
jne 0x1f02b54a
lea eax, [edi - 2]
cmp eax, 0x14
ja case.0x1f02af17.8
jmp dword [eax*4 + 0x1f02b664]
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1f02af38
mov edx, dword [esp + 0x80]
push edx
push 0x1f05f06c
call eax
add esp, 8
mov eax, dword [esp + 0x1c]
push eax
call fcn.1f03e3e5
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f110
lea ecx, [esp + 0x48]
call fcn.1f03daa0
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 0x1f02b265
mov esi, dword [esp + 0x18]
mov edi, dword [esi]
mov eax, dword [edi + 4]
push eax
call fcn.1f0367b0
mov dword [edi + 4], eax
movzx ecx, word [eax]
add esp, 4
cmp ecx, 0x21
je 0x1f02afbf
cmp ecx, 0x7e
je 0x1f02afb8
mov ebp, 1
jmp 0x1f02afd6
mov ebp, 0xb
jmp 0x1f02afc4
mov ebp, 8
add eax, 2
push eax
mov dword [edi + 4], eax
call fcn.1f0367b0
mov dword [edi + 4], eax
add esp, 4
mov eax, dword [edi + 4]
push 0x1f059f50
push eax
call fcn.1f040794
add esp, 8
test eax, eax
je 0x1f02b0a0
mov eax, dword [edi + 4]
push 0x1f059f50
push eax
call fcn.1f040794
add esp, 8
test eax, eax
je 0x1f02b032
movzx ecx, word [eax]
cmp cx, 0x28
jne 0x1f02b01d
test ebx, ebx
jne 0x1f02b017
lea ecx, [eax + 2]
mov dword [edi + 4], ecx
inc ebx
add eax, 2
jmp 0x1f02aff2
cmp cx, 0x29
jne 0x1f02b028
sub ebx, 1
je 0x1f02b02d
add eax, 2
jmp 0x1f02aff2
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 0x1f02b05e
cmp ax, 9
je 0x1f02b05e
cmp ax, 0xd
je 0x1f02b05e
cmp ax, 0xa
jne 0x1f02b068
test dx, dx
je 0x1f02b068
add ecx, 2
jmp 0x1f02b040
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.1f02ac40
add esp, 0x18
test eax, eax
jne 0x1f02b217
mov dword [esp + 0x10], eax
jmp 0x1f02b248
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
movzx eax, dx
cmp ax, 0x20
je 0x1f02b0c1
cmp ax, 9
je 0x1f02b0c1
cmp ax, 0xd
je 0x1f02b0c1
cmp ax, 0xa
jne 0x1f02b0cb
test dx, dx
je 0x1f02b0cb
add ecx, 2
jmp 0x1f02b0a3
mov dword [edi + 4], ecx
cmp word [ecx], 0
jne 0x1f02b0f4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
cmp esi, dword [esp + ecx + 0x48]
jne 0x1f02b13f
mov eax, dword [edi]
add eax, 0xfffffffe
cmp eax, 1
ja 0x1f02b13f
mov dword [edi + 4], 0x1f05f068
jmp 0x1f02b13f
movzx edx, word [ecx]
movzx eax, dx
mov esi, 0x61
cmp si, ax
ja 0x1f02b10a
cmp ax, 0x7a
jbe 0x1f02b130
mov esi, 0x41
cmp si, ax
ja 0x1f02b11a
cmp ax, 0x5a
jbe 0x1f02b130
mov esi, 0x30
cmp si, ax
ja 0x1f02b12a
cmp ax, 0x39
jbe 0x1f02b130
cmp ax, 0x5f
jne 0x1f02b13a
test dx, dx
je 0x1f02b13a
add ecx, 2
jmp 0x1f02b0f4
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.1f02ac00
add esp, 0x10
test eax, eax
jne 0x1f02b217
mov dword [esp + 0x10], eax
cmp dword [esp + 0x7c], eax
je 0x1f02b248
mov eax, dword [edi + 4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1f02b175
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.1f03e9a2
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1f02b248
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 0x1f02b1b3
mov eax, dword [edi + 4]
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1f02b1c7
mov edi, ebx
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x1f02b1e0
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.1f03e97c
add esp, 0xc
jmp 0x1f02b248
cmp ebp, 8
je 0x1f02b231
cmp ebp, 0xb
jne 0x1f02b248
mov ecx, dword [esi]
mov edx, dword [esi + 4]
not ecx
not edx
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp 0x1f02b248
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x1f02b23f
mov eax, 1
jmp 0x1f02b241
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 0x1f02af80
cmp dword [esp + 0x10], eax
jne 0x1f02ae6c
mov edx, dword [esp + 0x1c]
push edx
call fcn.1f03e3e5
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f110
lea ecx, [esp + 0x48]
call fcn.1f03daa0
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.0x1f02af17.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.0x1f02af17.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.1f040a80
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02af17.8
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edi, eax
or edi, ecx
jne 0x1f02b315
mov dword [esp + 0x10], edi
test ebp, ebp
je case.0x1f02af17.8
mov edx, dword [esp + 0x80]
push edx
push str.Error_division_by_0
call ebp
jmp 0x1f02b539
push ecx
mov ecx, dword [edx + 8]
push eax
mov eax, dword [edx + 0xc]
push eax
push ecx
call fcn.1f040ce0
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
jne 0x1f02b34a
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0xc]
jne 0x1f02b34a
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
je 0x1f02b37e
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0xc]
je 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
xor eax, eax
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
or dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
or dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
and dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
and dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
xor dword [esi + 8], eax
mov ecx, dword [edx + 0xc]
xor dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [esi + 8]
call fcn.1f040cc0
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02af17.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
ja 0x1f02b37e
jb 0x1f02b3eb
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
ja 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
ja 0x1f02b37e
jb 0x1f02b417
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jae 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [esi + 8]
call fcn.1f040ac0
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.0x1f02af17.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jb 0x1f02b37e
ja 0x1f02b45c
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jb 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jb 0x1f02b37e
ja 0x1f02b488
mov ecx, dword [edx + 8]
cmp ecx, dword [esi + 8]
jbe 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
mov eax, dword [edx + 8]
cmp eax, dword [esi + 8]
jne 0x1f02b37e
mov ecx, dword [edx + 0xc]
cmp ecx, dword [esi + 0xc]
jne 0x1f02b37e
mov eax, 1
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x1f02af17.8
test ebp, ebp
je case.0x1f02af17.8
mov edx, dword [esp + 0x80]
push edx
push str.Syntax_error_:_single__found
jmp 0x1f02b52f
cmp dword [esi], 0x16
mov edi, dword [ebx + 4]
mov eax, dword [edi]
je 0x1f02b4f4
test ebp, ebp
je case.0x1f02af17.8
mov eax, dword [esp + 0x80]
push eax
push str.Syntax_error_:___found_without_matching_:
jmp 0x1f02b52f
mov ecx, dword [edx + 8]
or ecx, dword [edx + 0xc]
je 0x1f02b504
mov ecx, dword [esi + 8]
mov esi, dword [esi + 0xc]
jmp 0x1f02b50a
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.1f02ed90
mov ebx, edi
jmp case.0x1f02af17.8
test ebp, ebp
je case.0x1f02af17.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.1f02ed90
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 0x1f02aee3
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, 5
jb 0x1f02aea0
test esi, esi
je 0x1f02b59c
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0x4c]
test eax, eax
je 0x1f02b59c
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.1f03e3e5
add esp, 4
mov dword [esp + 0x64], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.1f02f110
lea ecx, [esp + 0x48]
call fcn.1f03daa0
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